bitrot: no trailing ';' in macros when eval'd in expr position
https://github.com/rust-lang/rust/issues/79813 At least some of these don't initially appear to be in expr position, but the end of a block is always an expression, so these being wrapped in `{}` don't actually help. Seems weird but whatever, easy enough to fix!
This commit is contained in:
@@ -50,7 +50,7 @@ macro_rules! step {
|
|||||||
$cpu:expr, $bus:expr, $prefix:tt, $modrm:tt,
|
$cpu:expr, $bus:expr, $prefix:tt, $modrm:tt,
|
||||||
$(name=$name:ident$(<$($tyargs:tt),*>)?,)? $cycles:literal,
|
$(name=$name:ident$(<$($tyargs:tt),*>)?,)? $cycles:literal,
|
||||||
()) => {
|
()) => {
|
||||||
$(ops::$name$(::<$($tyargs),*>)?)?($($done),*);
|
$(ops::$name$(::<$($tyargs),*>)?)?($($done),*)
|
||||||
};
|
};
|
||||||
|
|
||||||
// Inductive case: decode next arg to be placed in list
|
// Inductive case: decode next arg to be placed in list
|
||||||
@@ -274,7 +274,7 @@ macro_rules! step {
|
|||||||
(@prefix $cookie:tt, $cpu:expr, $bus:expr,
|
(@prefix $cookie:tt, $cpu:expr, $bus:expr,
|
||||||
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
||||||
$modrm:tt) => {
|
$modrm:tt) => {
|
||||||
continue $prefix_loop;
|
continue $prefix_loop
|
||||||
};
|
};
|
||||||
|
|
||||||
(@r16 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, ($modrm_val:ident, $($modrm_rest:tt),*)) => { {
|
(@r16 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, ($modrm_val:ident, $($modrm_rest:tt),*)) => { {
|
||||||
@@ -310,19 +310,19 @@ macro_rules! step {
|
|||||||
} };
|
} };
|
||||||
|
|
||||||
(@reg=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
(@reg=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||||
step!(@arg $cookie, Reg { reg: &$cpu.$reg });
|
step!(@arg $cookie, Reg { reg: &$cpu.$reg })
|
||||||
};
|
};
|
||||||
|
|
||||||
(@reghi=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
(@reghi=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||||
step!(@arg $cookie, RegHi { reg: &$cpu.$reg });
|
step!(@arg $cookie, RegHi { reg: &$cpu.$reg })
|
||||||
};
|
};
|
||||||
|
|
||||||
(@reglo=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
(@reglo=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||||
step!(@arg $cookie, RegLo { reg: &$cpu.$reg });
|
step!(@arg $cookie, RegLo { reg: &$cpu.$reg })
|
||||||
};
|
};
|
||||||
|
|
||||||
(@regval=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
(@regval=$reg:ident $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||||
step!(@arg $cookie, $cpu.$reg.get());
|
step!(@arg $cookie, $cpu.$reg.get())
|
||||||
};
|
};
|
||||||
|
|
||||||
(@rel8 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => { {
|
(@rel8 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => { {
|
||||||
@@ -773,7 +773,7 @@ impl i8088 {
|
|||||||
0xC5 => reghi=c, convert / R 0,
|
0xC5 => reghi=c, convert / R 0,
|
||||||
0xC6 => reghi=d, convert / R 0,
|
0xC6 => reghi=d, convert / R 0,
|
||||||
0xC7 => reghi=b, convert / R 0,
|
0xC7 => reghi=b, convert / R 0,
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user