diff --git a/src/impl-aarch64-elf.rs b/src/impl-aarch64-elf.rs index 4764da6e6a69cdd35e7f77c49df875d2132c78fa..428a705234940cb9347cab56c407ea18af76c438 100644 --- a/src/impl-aarch64-elf.rs +++ b/src/impl-aarch64-elf.rs @@ -42,6 +42,11 @@ impl VaPrimitive for *const T { ::get(list) as *const T } } +impl VaPrimitive for *mut T { + unsafe fn get(list: &mut VaList) -> Self { + ::get(list) as *mut T + } +} macro_rules! impl_va_prim_gr { ($u: ty, $s: ty) => { diff --git a/src/impl-arm-sysv.rs b/src/impl-arm-sysv.rs index ef5e99a3567682bb2e1aa50ee7cbf80bd191573c..d9e4e295a53d399328bcf5ce50f29082e1a0082f 100644 --- a/src/impl-arm-sysv.rs +++ b/src/impl-arm-sysv.rs @@ -26,6 +26,11 @@ impl VaPrimitive for *const T { ::get(list) as *const T } } +impl VaPrimitive for *const T { + unsafe fn get(list: &mut VaList) -> Self { + ::get(list) as *mut T + } +} impl VaPrimitive for usize { unsafe fn get(l: &mut VaList) -> Self { l.get_raw() diff --git a/src/impl-x86-sysv.rs b/src/impl-x86-sysv.rs index ef5e99a3567682bb2e1aa50ee7cbf80bd191573c..a155ca3d67f4d82d53c7086b51014b7a0a224fa8 100644 --- a/src/impl-x86-sysv.rs +++ b/src/impl-x86-sysv.rs @@ -26,6 +26,11 @@ impl VaPrimitive for *const T { ::get(list) as *const T } } +impl VaPrimitive for *mut T { + unsafe fn get(list: &mut VaList) -> Self { + ::get(list) as *mut T + } +} impl VaPrimitive for usize { unsafe fn get(l: &mut VaList) -> Self { l.get_raw() diff --git a/src/impl-x86_64-elf.rs b/src/impl-x86_64-elf.rs index e0fffd6a31a558c0aacc8a7c87d947e1afd52f18..feb85f486aee9a55905ef8720cb8274a642a7fdb 100644 --- a/src/impl-x86_64-elf.rs +++ b/src/impl-x86_64-elf.rs @@ -73,6 +73,11 @@ impl VaPrimitive for *const T { ::get(list) as *const T } } +impl VaPrimitive for *mut T { + unsafe fn get(list: &mut VaList) -> Self { + ::get(list) as *mut T + } +} macro_rules! impl_va_prim { ($u: ty, $s: ty) => { diff --git a/src/impl-x86_64-win64.rs b/src/impl-x86_64-win64.rs index 49a78fff0ccd7c476a5e886d713af2cd3b0a5f8e..bff571a3f125c11c98c1e6ef6e487af6f274d3c6 100644 --- a/src/impl-x86_64-win64.rs +++ b/src/impl-x86_64-win64.rs @@ -22,6 +22,11 @@ impl VaPrimitive for *const T { ::get(list) as *const T } } +impl VaPrimitive for *mut T { + unsafe fn get(list: &mut VaList) -> Self { + ::get(list) as *mut T + } +} impl VaPrimitive for usize { unsafe fn get(l: &mut VaList) -> Self { l.get_raw()