macro2cfg-macros 0.0.1

GCC, Clang, and MSVC pre-defined macros, converted to Rust's cfg macros.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern crate proc_macro;

use proc_macro::TokenStream;
use quote::quote;
use syn::{Item, parse_macro_input};

#[allow(non_snake_case)]
#[proc_macro_attribute]
pub fn __MMX__(_attr: TokenStream, item: TokenStream) -> TokenStream {
    let input = parse_macro_input!(item as Item);

    let expanded = quote! {
        #[cfg(__MMX__)]
        #input
    };

    expanded.into()
}