From: Owen Avery Date: Tue, 16 May 2023 04:31:38 +0000 (-0400) Subject: gccrs: Change return type of token_id_keyword_string X-Git-Tag: basepoints/gcc-15~2545 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c317571911ee3e9525513634c7e6bc6820dca7c;p=thirdparty%2Fgcc.git gccrs: Change return type of token_id_keyword_string gcc/rust/ChangeLog: * lex/rust-token.cc (token_id_keyword_string): Return std::string reference. * lex/rust-token.h (token_id_keyword_string): Return std::string reference. Signed-off-by: Owen Avery --- diff --git a/gcc/rust/lex/rust-token.cc b/gcc/rust/lex/rust-token.cc index 2956d923d2f1..777b4e13da97 100644 --- a/gcc/rust/lex/rust-token.cc +++ b/gcc/rust/lex/rust-token.cc @@ -74,20 +74,23 @@ token_id_is_keyword (TokenId id) } /* gets the string associated with a keyword */ -const char * +const std::string & token_id_keyword_string (TokenId id) { switch (id) { -#define RS_TOKEN_KEYWORD(id, str) \ - case id: \ - return str; +#define RS_TOKEN_KEYWORD(id, str_ptr) \ + case id: { \ + static const std::string str (str_ptr); \ + return str; \ + } \ + gcc_unreachable (); #define RS_TOKEN(a, b) RS_TOKEN_LIST #undef RS_TOKEN_KEYWORD #undef RS_TOKEN default: - return nullptr; + gcc_unreachable (); } } diff --git a/gcc/rust/lex/rust-token.h b/gcc/rust/lex/rust-token.h index 48640f5b2434..c7ec753a123e 100644 --- a/gcc/rust/lex/rust-token.h +++ b/gcc/rust/lex/rust-token.h @@ -230,7 +230,7 @@ token_id_to_str (TokenId id); bool token_id_is_keyword (TokenId id); /* gets the string associated with a keyword */ -const char * +const std::string & token_id_keyword_string (TokenId id); // Get type hint description as a string. const char *