aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/expand/rust-macro-builtins.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/expand/rust-macro-builtins.h')
-rw-r--r--gcc/rust/expand/rust-macro-builtins.h64
1 files changed, 45 insertions, 19 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins.h b/gcc/rust/expand/rust-macro-builtins.h
index ea1919b..1c8d0d6 100644
--- a/gcc/rust/expand/rust-macro-builtins.h
+++ b/gcc/rust/expand/rust-macro-builtins.h
@@ -123,53 +123,79 @@ public:
static std::unordered_map<std::string, AST::MacroTranscriberFunc>
builtin_transcribers;
- static tl::optional<AST::Fragment>
- assert_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ static tl::optional<AST::Fragment> assert_handler (location_t invoc_locus,
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment> file_handler (location_t invoc_locus,
- AST::MacroInvocData &invoc);
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
- static tl::optional<AST::Fragment>
- column_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ static tl::optional<AST::Fragment> column_handler (location_t invoc_locus,
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment>
- include_bytes_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ include_bytes_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment>
- include_str_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ include_str_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment>
- stringify_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ stringify_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment>
- compile_error_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ compile_error_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
- static tl::optional<AST::Fragment>
- concat_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ static tl::optional<AST::Fragment> concat_handler (location_t invoc_locus,
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment> env_handler (location_t invoc_locus,
- AST::MacroInvocData &invoc);
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
+
+ static tl::optional<AST::Fragment>
+ option_env_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment> cfg_handler (location_t invoc_locus,
- AST::MacroInvocData &invoc);
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment>
- include_handler (location_t invoc_locus, AST::MacroInvocData &invoc);
+ include_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
static tl::optional<AST::Fragment> line_handler (location_t invoc_locus,
- AST::MacroInvocData &invoc);
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
+
+ static tl::optional<AST::Fragment> asm_handler (location_t invoc_locus,
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon,
+ AST::AsmKind is_global_asm);
+
+ static tl::optional<AST::Fragment>
+ llvm_asm_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon, AST::AsmKind is_global_asm);
static tl::optional<AST::Fragment>
format_args_handler (location_t invoc_locus, AST::MacroInvocData &invoc,
- AST::FormatArgs::Newline nl);
+ AST::InvocKind semicolon, AST::FormatArgs::Newline nl);
static tl::optional<AST::Fragment> sorry (location_t invoc_locus,
- AST::MacroInvocData &invoc);
+ AST::MacroInvocData &invoc,
+ AST::InvocKind semicolon);
/* Builtin procedural macros do not work directly on tokens, but still need a
* builtin transcriber to be considered proper builtin macros */
- static tl::optional<AST::Fragment> proc_macro_builtin (location_t,
- AST::MacroInvocData &);
+ static tl::optional<AST::Fragment>
+ proc_macro_builtin (location_t, AST::MacroInvocData &, AST::InvocKind);
};
} // namespace Rust