8dcce4ff30bfef29f992cdc828aa83dadb1c0d75
[power-instruction-analyzer.git] / power-instruction-analyzer-proc-macro / src / lib.rs
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 // See Notices.txt for copyright information
3
4 #[macro_use]
5 mod inline_assembly;
6 mod instructions;
7
8 use instructions::Instructions;
9 use proc_macro::TokenStream;
10 use syn::parse_macro_input;
11
12 #[proc_macro]
13 pub fn instructions(input: TokenStream) -> TokenStream {
14 let input = parse_macro_input!(input as Instructions);
15 match input.to_tokens() {
16 Ok(retval) => retval,
17 Err(err) => err.to_compile_error(),
18 }
19 .into()
20 }