[gcc r14-8034] gccrs: Change debug log call to as_string function

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 18:12:53 GMT 2024


https://gcc.gnu.org/g:80199b328cbc7efedf0d88a8cdceccedd1b6c355

commit r14-8034-g80199b328cbc7efedf0d88a8cdceccedd1b6c355
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Mon Oct 9 13:06:22 2023 +0200

    gccrs: Change debug log call to as_string function
    
    This will ensure an accurate representation of the token. Also update the
    as_string function to represent accurately scope resolution tokens.
    
    gcc/rust/ChangeLog:
    
            * lex/rust-token.cc (Token::as_string): Update function to output scope
            resolution tokens correctly.
            * parse/rust-parse-impl.h (Parser::parse_generic_param): Change call to
            as_string.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Diff:
---
 gcc/rust/lex/rust-token.cc       | 2 ++
 gcc/rust/parse/rust-parse-impl.h | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/rust/lex/rust-token.cc b/gcc/rust/lex/rust-token.cc
index 868946f65f3..ea355051bba 100644
--- a/gcc/rust/lex/rust-token.cc
+++ b/gcc/rust/lex/rust-token.cc
@@ -245,6 +245,8 @@ Token::as_string () const
 	  return "b'" + escape_special_chars (get_str (), Context::Char) + "'";
 	case LIFETIME:
 	  return "'" + get_str ();
+	case SCOPE_RESOLUTION:
+	  return "::";
 	case INT_LITERAL:
 	  if (get_type_hint () == CORETYPE_UNKNOWN)
 	    return get_str ();
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index 214a7eefda0..7f4708543cb 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -3093,7 +3093,7 @@ Parser<ManagedTokenSource>::parse_generic_param (EndTokenPred is_end_token)
       // FIXME: Can we clean this last call with a method call?
       rust_error_at (token->get_locus (),
 		     "unexpected token when parsing generic parameters: %qs",
-		     token->get_str ().c_str ());
+		     token->as_string ().c_str ());
       return nullptr;
     }


More information about the Gcc-cvs mailing list