summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 91198701..3340b4cf 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -621,6 +621,10 @@ impl CodeGenerator for Type {
inst.codegen(ctx, result, item)
}
TypeKind::BlockPointer(inner) => {
+ if !ctx.options().generate_block {
+ return;
+ }
+
let inner_item = inner.into_resolver()
.through_type_refs()
.resolve(ctx);
@@ -3135,6 +3139,10 @@ impl TryToRustTy for Type {
TypeKind::TemplateAlias(..) |
TypeKind::Alias(..) |
TypeKind::BlockPointer(..) => {
+ if self.is_block_pointer() && !ctx.options().generate_block {
+ let void = raw_type(ctx, "c_void");
+ return Ok(void.to_ptr(/* is_const = */ false));
+ }
let template_params = item.used_template_params(ctx)
.into_iter()
.filter(|param| param.is_template_param(ctx, &()))