From fdb87a41adbf0072a08182a0da48c33d491abf3c Mon Sep 17 00:00:00 2001 From: Pierre-Emmanuel Patry Date: Wed, 8 Nov 2023 10:57:48 +0100 Subject: 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 --- gcc/rust/checks/errors/rust-ast-validation.cc | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'gcc') diff --git a/gcc/rust/checks/errors/rust-ast-validation.cc b/gcc/rust/checks/errors/rust-ast-validation.cc index d27d3e8..3af5655 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"); -- cgit v1.1