aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/expand/rust-macro-builtins.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/expand/rust-macro-builtins.cc')
-rw-r--r--gcc/rust/expand/rust-macro-builtins.cc30
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 ());