Skip to content

Commit 48d8045

Browse files
authored
Merge pull request #4 from rust-osdev/i386
test: fix doctests for 32-bit and 16-bit pointer widths
2 parents 093832d + a2ef25d commit 48d8045

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

src/lib.rs

+29-8
Original file line numberDiff line numberDiff line change
@@ -554,14 +554,35 @@ macro_rules! impl_sum_product {
554554

555555
impl_sum_product! { Xe<i8> Xe<i16> Xe<i32> Xe<i64> Xe<i128> Xe<isize> Xe<u8> Xe<u16> Xe<u32> Xe<u64> Xe<u128> Xe<usize> }
556556

557+
#[cfg(target_pointer_width = "16")]
558+
macro_rules! usize_macro {
559+
($macro:ident) => {
560+
$macro!(u16)
561+
};
562+
}
563+
564+
#[cfg(target_pointer_width = "32")]
565+
macro_rules! usize_macro {
566+
($macro:ident) => {
567+
$macro!(u32)
568+
};
569+
}
570+
571+
#[cfg(target_pointer_width = "64")]
572+
macro_rules! usize_macro {
573+
($macro:ident) => {
574+
$macro!(u64)
575+
};
576+
}
577+
557578
#[rustfmt::skip]
558579
macro_rules! rot {
559580
(u8) => { 2 };
560581
(u16) => { 4 };
561582
(u32) => { 8 };
562583
(u64) => { 12 };
563584
(u128) => { 16 };
564-
(usize) => { rot!(u64) };
585+
(usize) => { usize_macro!(rot) };
565586
(i8) => { rot!(u8) };
566587
(i16) => { rot!(u16) };
567588
(i32) => { rot!(u32) };
@@ -577,7 +598,7 @@ macro_rules! rot_op {
577598
(u32) => { "0x10000b3" };
578599
(u64) => { "0xaa00000000006e1" };
579600
(u128) => { "0x13f40000000000000000000000004f76" };
580-
(usize) => { rot_op!(u64) };
601+
(usize) => { usize_macro!(rot_op) };
581602
(i8) => { "-0x7e" };
582603
(i16) => { "-0x5ffd" };
583604
(i32) => { rot_op!(u32) };
@@ -593,7 +614,7 @@ macro_rules! rot_result {
593614
(u32) => { "0xb301" };
594615
(u64) => { "0x6e10aa" };
595616
(u128) => { "0x4f7613f4" };
596-
(usize) => { rot_result!(u64) };
617+
(usize) => { usize_macro!(rot_result) };
597618
(i8) => { rot_result!(u8) };
598619
(i16) => { rot_result!(u16) };
599620
(i32) => { rot_result!(u32) };
@@ -609,7 +630,7 @@ macro_rules! swap_op {
609630
(u32) => { "0x12345678" };
610631
(u64) => { "0x1234567890123456" };
611632
(u128) => { "0x12345678901234567890123456789012" };
612-
(usize) => { swap_op!(u64) };
633+
(usize) => { usize_macro!(swap_op) };
613634
(i8) => { swap_op!(u8) };
614635
(i16) => { swap_op!(u16) };
615636
(i32) => { swap_op!(u32) };
@@ -625,7 +646,7 @@ macro_rules! swapped {
625646
(u32) => { "0x78563412" };
626647
(u64) => { "0x5634129078563412" };
627648
(u128) => { "0x12907856341290785634129078563412" };
628-
(usize) => { swapped!(u64) };
649+
(usize) => { usize_macro!(swapped) };
629650
(i8) => { swapped!(u8) };
630651
(i16) => { swapped!(u16) };
631652
(i32) => { swapped!(u32) };
@@ -641,7 +662,7 @@ macro_rules! reversed {
641662
(u32) => { "0x1e6a2c48" };
642663
(u64) => { "0x6a2c48091e6a2c48" };
643664
(u128) => { "0x48091e6a2c48091e6a2c48091e6a2c48" };
644-
(usize) => { reversed!(u64) };
665+
(usize) => { usize_macro!(reversed) };
645666
(i8) => { reversed!(u8) };
646667
(i16) => { reversed!(u16) };
647668
(i32) => { reversed!(u32) };
@@ -656,7 +677,7 @@ macro_rules! be_bytes {
656677
(u32) => { "[0x12, 0x34, 0x56, 0x78]" };
657678
(u64) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" };
658679
(u128) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]" };
659-
(usize) => { be_bytes!(u64) };
680+
(usize) => { usize_macro!(be_bytes) };
660681
(i8) => { be_bytes!(u8) };
661682
(i16) => { be_bytes!(u16) };
662683
(i32) => { be_bytes!(u32) };
@@ -671,7 +692,7 @@ macro_rules! le_bytes {
671692
(u32) => { "[0x78, 0x56, 0x34, 0x12]" };
672693
(u64) => { "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" };
673694
(u128) => { "[0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" };
674-
(usize) => { le_bytes!(u64) };
695+
(usize) => { usize_macro!(le_bytes) };
675696
(i8) => { le_bytes!(u8) };
676697
(i16) => { le_bytes!(u16) };
677698
(i32) => { le_bytes!(u32) };

0 commit comments

Comments
 (0)