diff options
author | jjasmine <tanghocle456@gmail.com> | 2024-02-23 13:06:14 -0800 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-01 13:11:29 +0200 |
commit | 5d30562dcfa59d86210976c92d187f0d86f64be4 (patch) | |
tree | c1da003dada82a9d9939cb779f8a70813f0f4dbb /gcc | |
parent | 53ccef0387e2c55016132b8cc600176f8ac9abef (diff) | |
download | gcc-5d30562dcfa59d86210976c92d187f0d86f64be4.zip gcc-5d30562dcfa59d86210976c92d187f0d86f64be4.tar.gz gcc-5d30562dcfa59d86210976c92d187f0d86f64be4.tar.bz2 |
gccrs: Fix small FixMe task in rust macro builtins
gcc/rust/ChangeLog:
* expand/rust-macro-builtins.cc: Change BuiltinMacro in
builtin_macro_from_string to tl::optional<>
* expand/rust-macro-builtins.h (enum class): Change BuiltinMacro
in builtin_macro_from_string to tl::optional<>
* resolve/rust-early-name-resolver.cc (EarlyNameResolver::visit):
Resolved wrong type dependency of builtin_macro_from_string
Signed-off-by: jjasmine <tanghocle456@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/expand/rust-macro-builtins.cc | 3 | ||||
-rw-r--r-- | gcc/rust/expand/rust-macro-builtins.h | 2 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-early-name-resolver.cc | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins.cc b/gcc/rust/expand/rust-macro-builtins.cc index 2af05a5..f103759a 100644 --- a/gcc/rust/expand/rust-macro-builtins.cc +++ b/gcc/rust/expand/rust-macro-builtins.cc @@ -126,8 +126,7 @@ std::unordered_map<std::string, AST::MacroTranscriberFunc> {"Hash", MacroBuiltin::proc_macro_builtin}, }; -// FIXME: This should return an tl::optional -BuiltinMacro +tl::optional<BuiltinMacro> builtin_macro_from_string (const std::string &identifier) { auto macro = MacroBuiltin::builtins.lookup (identifier); diff --git a/gcc/rust/expand/rust-macro-builtins.h b/gcc/rust/expand/rust-macro-builtins.h index f9ab3fc..1d6b30b 100644 --- a/gcc/rust/expand/rust-macro-builtins.h +++ b/gcc/rust/expand/rust-macro-builtins.h @@ -75,7 +75,7 @@ enum class BuiltinMacro Hash, }; -BuiltinMacro +tl::optional<BuiltinMacro> builtin_macro_from_string (const std::string &identifier); /** diff --git a/gcc/rust/resolve/rust-early-name-resolver.cc b/gcc/rust/resolve/rust-early-name-resolver.cc index 422dd92..d70f9ca 100644 --- a/gcc/rust/resolve/rust-early-name-resolver.cc +++ b/gcc/rust/resolve/rust-early-name-resolver.cc @@ -497,7 +497,7 @@ EarlyNameResolver::visit (AST::MacroInvocation &invoc) { auto builtin_kind = builtin_macro_from_string (rules_def->get_rule_name ().as_string ()); - invoc.map_to_builtin (builtin_kind); + invoc.map_to_builtin (builtin_kind.value ()); } auto attributes = rules_def->get_outer_attrs (); |