summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorKyle Tomsic <kyle.a.tomsic@gmail.com>2019-10-02 22:29:05 -0400
committerEmilio Cobos Álvarez <emilio@crisal.io>2019-10-03 23:05:05 +0200
commitd6b25ed432136ce89217fc475ba63c95f292fb5d (patch)
treee2b490c8b82aa2f1a79ef7be7d9e34b8eb85209f /src/codegen/mod.rs
parentd1ddfbba23f074bb4df11a1efd5c99e944638744 (diff)
Use c_void from core when --use-core is specified
`c_void` is available as `::std::os::raw::c_void` and `::core::ffi::c_void`. If the "--use-core" option is specified (but no --ctypes-prefix is provided), we should emit `::core::ffi::c_void` rather than the `std` one.
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index c7f1b2bd..bce52c53 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -861,7 +861,7 @@ impl<'a> CodeGenerator for Vtable<'a> {
// For now, generate an empty struct, later we should generate function
// pointers and whatnot.
let name = ctx.rust_ident(&self.canonical_name(ctx));
- let void = helpers::ast_ty::raw_type(ctx, "c_void");
+ let void = helpers::ast_ty::c_void(ctx);
result.push(quote! {
#[repr(C)]
pub struct #name ( #void );
@@ -3076,10 +3076,10 @@ impl TryToRustTy for Type {
use self::helpers::ast_ty::*;
match *self.kind() {
- TypeKind::Void => Ok(raw_type(ctx, "c_void")),
+ TypeKind::Void => Ok(c_void(ctx)),
// TODO: we should do something smart with nullptr, or maybe *const
// c_void is enough?
- TypeKind::NullPtr => Ok(raw_type(ctx, "c_void").to_ptr(true)),
+ TypeKind::NullPtr => Ok(c_void(ctx).to_ptr(true)),
TypeKind::Int(ik) => {
match ik {
IntKind::Bool => Ok(quote! { bool }),
@@ -3186,7 +3186,7 @@ impl TryToRustTy for Type {
TypeKind::Alias(..) |
TypeKind::BlockPointer(..) => {
if self.is_block_pointer() && !ctx.options().generate_block {
- let void = raw_type(ctx, "c_void");
+ let void = c_void(ctx);
return Ok(void.to_ptr(/* is_const = */ false));
}
let template_params = item