From: Pierre-Emmanuel Patry Date: Wed, 8 Nov 2023 09:57:48 +0000 (+0100) Subject: gccrs: Replace local keyword set with the utils X-Git-Tag: basepoints/gcc-15~2000 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f41baaa832a480338b7a4d686d4b26000164588;p=thirdparty%2Fgcc.git gccrs: Replace local keyword set with the utils We don't require that local set anymore. gcc/rust/ChangeLog: * checks/errors/rust-ast-validation.cc (RS_TOKEN): Remove locale set. (RS_TOKEN_KEYWORD): Likewise. (ASTValidation::visit): Change keyword set call to the one from utils. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/checks/errors/rust-ast-validation.cc b/gcc/rust/checks/errors/rust-ast-validation.cc index d27d3e861ef9..3af5655d7f31 100644 --- a/gcc/rust/checks/errors/rust-ast-validation.cc +++ b/gcc/rust/checks/errors/rust-ast-validation.cc @@ -18,25 +18,17 @@ #include "rust-ast-validation.h" #include "rust-diagnostics.h" +#include "rust-keyword-values.h" namespace Rust { -namespace { -// TODO: make constexpr when update to c++20 -const std::map keywords = { -#define RS_TOKEN(x, y) -#define RS_TOKEN_KEYWORD(tok, key) {key, tok}, - RS_TOKEN_LIST -#undef RS_TOKEN_KEYWORD -#undef RS_TOKEN -}; -} // namespace - void ASTValidation::visit (AST::Lifetime &lifetime) { auto name = lifetime.get_lifetime_name (); auto valid = std::set{"static", "_"}; + auto &keywords = Values::Keywords::keywords; + if (valid.find (name) == valid.end () && keywords.find (name) != keywords.end ()) rust_error_at (lifetime.get_locus (), "lifetimes cannot use keyword names");