ir: Avoid generating bogus pointer arguments.

Now that we track nullability in the pointer type it's easy to do it.

Fixes #223
This commit is contained in:
Emilio Cobos Álvarez
2021-01-14 21:33:29 +01:00
parent 4ba7d1f083
commit f922f68531
13 changed files with 169 additions and 30 deletions
+4 -1
View File
@@ -6,6 +6,7 @@ struct Foo {
x: Option<&Opaque>,
y: Option<&mut Opaque>,
z: Option<fn () -> ()>,
zz: *mut Option<fn () -> ()>,
}
#[repr(C)]
@@ -13,6 +14,7 @@ union Bar {
x: Option<&Opaque>,
y: Option<&mut Opaque>,
z: Option<fn () -> ()>,
zz: *mut Option<fn () -> ()>,
}
#[no_mangle]
@@ -20,5 +22,6 @@ pub extern "C" fn root(
a: Option<&Opaque>,
b: Option<&mut Opaque>,
c: Foo,
d: Bar
d: Bar,
e: *mut Option<*mut Opaque>,
) { }