]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Change return type of token_id_keyword_string
authorOwen Avery <powerboat9.gamer@gmail.com>
Tue, 16 May 2023 04:31:38 +0000 (00:31 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:37:19 +0000 (18:37 +0100)
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 <powerboat9.gamer@gmail.com>
gcc/rust/lex/rust-token.cc
gcc/rust/lex/rust-token.h

index 2956d923d2f1a90c5ba7dad74bd9cad04b8375c2..777b4e13da97a00ae110644a7e607a9803edd4ee 100644 (file)
@@ -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 ();
     }
 }
 
index 48640f5b243420dc2501e5cfa188a5c626dfa8cc..c7ec753a123eea41dc760c169b19de8f2c3585da 100644 (file)
@@ -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 *