diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-06-18 13:47:57 +0200 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2024-06-18 12:24:32 +0000 |
commit | 7d22e900b069c5acdff8272da89b959c50dcb666 (patch) | |
tree | f8fe54ff3039a6171bc3100bfeff287ae8052e3b /gcc/rust/expand/rust-macro-builtins.cc | |
parent | fb906a41a4e911f7f0d7b506347286c7d942995e (diff) | |
download | gcc-7d22e900b069c5acdff8272da89b959c50dcb666.zip gcc-7d22e900b069c5acdff8272da89b959c50dcb666.tar.gz gcc-7d22e900b069c5acdff8272da89b959c50dcb666.tar.bz2 |
expand: Switch semicolon boolean to an enum instead.
gcc/rust/ChangeLog:
* ast/rust-ast-fragment.h (enum class): Add InvocKind and AsmKind enums.
* ast/rust-macro.h: Switch semicolon boolean to InvocKind enum.
* expand/rust-expand-visitor.cc (ExpandVisitor::visit): Likewise.
* expand/rust-macro-builtins-asm.cc (MacroBuiltin::asm_handler): Likewise.
(parse_asm): Likewise.
* expand/rust-macro-builtins-asm.h (parse_asm): Likewise.
* expand/rust-macro-builtins-format-args.cc (MacroBuiltin::format_args_handler): Likewise.
* expand/rust-macro-builtins-include.cc (MacroBuiltin::include_bytes_handler): Likewise.
(MacroBuiltin::include_str_handler): Likewise.
(MacroBuiltin::include_handler): Likewise.
* expand/rust-macro-builtins-location.cc (MacroBuiltin::file_handler): Likewise.
(MacroBuiltin::column_handler): Likewise.
(MacroBuiltin::line_handler): Likewise.
* expand/rust-macro-builtins-log-debug.cc (MacroBuiltin::assert_handler): Likewise.
* expand/rust-macro-builtins-utility.cc (MacroBuiltin::compile_error_handler): Likewise.
(MacroBuiltin::concat_handler): Likewise.
(MacroBuiltin::env_handler): Likewise.
(MacroBuiltin::cfg_handler): Likewise.
(MacroBuiltin::stringify_handler): Likewise.
* expand/rust-macro-builtins.cc (format_args_maker): Likewise.
(enum class): Likewise.
(inline_asm_maker): Likewise.
(MacroBuiltin::sorry): Likewise.
(MacroBuiltin::proc_macro_builtin): Likewise.
* expand/rust-macro-builtins.h: Likewise.
* expand/rust-macro-expand.cc (MacroExpander::expand_decl_macro): Likewise.
(MacroExpander::expand_eager_invocations): Likewise.
(MacroExpander::expand_invoc): Likewise.
* expand/rust-macro-expand.h (struct MacroExpander): Likewise.
Diffstat (limited to 'gcc/rust/expand/rust-macro-builtins.cc')
-rw-r--r-- | gcc/rust/expand/rust-macro-builtins.cc | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins.cc b/gcc/rust/expand/rust-macro-builtins.cc index 567f4db..07a1f3c 100644 --- a/gcc/rust/expand/rust-macro-builtins.cc +++ b/gcc/rust/expand/rust-macro-builtins.cc @@ -87,26 +87,19 @@ const BiMap<std::string, BuiltinMacro> MacroBuiltin::builtins = {{ AST::MacroTranscriberFunc format_args_maker (AST::FormatArgs::Newline nl) { - return [nl] (location_t loc, AST::MacroInvocData &invoc, bool semicolon) { + return [nl] (location_t loc, AST::MacroInvocData &invoc, + AST::InvocKind semicolon) { return MacroBuiltin::format_args_handler (loc, invoc, semicolon, nl); }; } -enum class isGlobalAsm -{ - Global, - Inline, -}; - AST::MacroTranscriberFunc -inline_asm_maker (isGlobalAsm is_global_asm) +inline_asm_maker (AST::AsmKind global_asm) { - bool global_asm = is_global_asm == isGlobalAsm::Global ? true : false; - - return - [global_asm] (location_t loc, AST::MacroInvocData &invoc, bool semicolon) { - return MacroBuiltin::asm_handler (loc, invoc, semicolon, global_asm); - }; + return [global_asm] (location_t loc, AST::MacroInvocData &invoc, + AST::InvocKind semicolon) { + return MacroBuiltin::asm_handler (loc, invoc, semicolon, global_asm); + }; } std::unordered_map<std::string, AST::MacroTranscriberFunc> @@ -125,8 +118,8 @@ std::unordered_map<std::string, AST::MacroTranscriberFunc> {"include", MacroBuiltin::include_handler}, {"format_args", format_args_maker (AST::FormatArgs::Newline::No)}, {"format_args_nl", format_args_maker (AST::FormatArgs::Newline::Yes)}, - {"asm", inline_asm_maker (isGlobalAsm::Inline)}, - {"global_asm", inline_asm_maker (isGlobalAsm::Global)}, + {"asm", inline_asm_maker (AST::AsmKind::Inline)}, + {"global_asm", inline_asm_maker (AST::AsmKind::Global)}, /* Unimplemented macro builtins */ {"option_env", MacroBuiltin::sorry}, {"concat_idents", MacroBuiltin::sorry}, @@ -169,7 +162,7 @@ builtin_macro_from_string (const std::string &identifier) tl::optional<AST::Fragment> MacroBuiltin::sorry (location_t invoc_locus, AST::MacroInvocData &invoc, - bool semicolon) + AST::InvocKind semicolon) { rust_sorry_at (invoc_locus, "unimplemented builtin macro: %qs", invoc.get_path ().as_string ().c_str ()); @@ -179,7 +172,8 @@ MacroBuiltin::sorry (location_t invoc_locus, AST::MacroInvocData &invoc, tl::optional<AST::Fragment> MacroBuiltin::proc_macro_builtin (location_t invoc_locus, - AST::MacroInvocData &invoc, bool semicolon) + AST::MacroInvocData &invoc, + AST::InvocKind semicolon) { rust_error_at (invoc_locus, "cannot invoke derive macro: %qs", invoc.get_path ().as_string ().c_str ()); |