macro_rules! Q {
($($e:expr)*) => {
concat!($($e ,)*)
};
}
macro_rules! Label {
($name:literal, $id:literal) => {
stringify!($id)
};
($name:literal, $id:literal, After) => {
stringify!($id f)
};
($name:literal, $id:literal, Before) => {
stringify!($id b)
}
}
#[cfg(target_os = "macos")]
macro_rules! PageRef {
($sym:literal) => { Q!( "{" $sym "}@PAGE" ) }
}
#[cfg(target_os = "macos")]
macro_rules! PageOffRef {
($sym:literal) => { Q!( "{" $sym "}@PAGEOFF" ) }
}
#[allow(unused_macros)]
#[cfg(not(target_os = "macos"))]
macro_rules! PageRef {
($sym:literal) => { Q!( "{" $sym "}" ) }
}
#[allow(unused_macros)]
#[cfg(not(target_os = "macos"))]
macro_rules! PageOffRef {
($sym:literal) => { Q!( ":lo12:" "{" $sym "}" ) }
}