diff options
author | Adrian Taylor <adetaylor@chromium.org> | 2021-05-18 06:51:52 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-18 15:51:52 +0200 |
commit | b60339ece3994868a55889b7f1f6043ab29ba30e (patch) | |
tree | e2663e59f133f79c5f776f6630e2fed4dcd65e0e /tests | |
parent | e6684dc5c56d0283b9c14b34f68d445e9d5a580f (diff) |
Identify forward declarations in params. (#2052)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/expectations/tests/parm-union.rs | 40 | ||||
-rw-r--r-- | tests/headers/parm-union.hpp | 4 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/expectations/tests/parm-union.rs b/tests/expectations/tests/parm-union.rs new file mode 100644 index 00000000..9f7dd20a --- /dev/null +++ b/tests/expectations/tests/parm-union.rs @@ -0,0 +1,40 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Struct { + pub _address: u8, +} +#[test] +fn bindgen_test_layout_Struct() { + assert_eq!( + ::std::mem::size_of::<Struct>(), + 1usize, + concat!("Size of: ", stringify!(Struct)) + ); + assert_eq!( + ::std::mem::align_of::<Struct>(), + 1usize, + concat!("Alignment of ", stringify!(Struct)) + ); +} +extern "C" { + #[link_name = "\u{1}_ZN6Struct8FunctionER5Union"] + pub fn Struct_Function(this: *mut Struct, arg1: *mut Union); +} +impl Struct { + #[inline] + pub unsafe fn Function(&mut self, arg1: *mut Union) { + Struct_Function(self, arg1) + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct Union { + _unused: [u8; 0], +} diff --git a/tests/headers/parm-union.hpp b/tests/headers/parm-union.hpp new file mode 100644 index 00000000..e36df691 --- /dev/null +++ b/tests/headers/parm-union.hpp @@ -0,0 +1,4 @@ +struct Struct +{ + void Function(union Union&); +}; |