diff options
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 298711f..2457bc0 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 ()); |