Skip to content

Commit 42045b7

Browse files
committed
wrap gen: don't wrap in pointer() Ptr{FILE} arg
it has a special meaning that pointer() does not support
1 parent 85c5d4b commit 42045b7

File tree

6 files changed

+8
-7
lines changed

6 files changed

+8
-7
lines changed

src/cvode.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function __CVodeSetErrFile(cvode_mem::CVODEMemPtr,errfp::Ptr{FILE})
1616
ccall((:CVodeSetErrFile,libsundials_cvode),Cint,(CVODEMemPtr,Ptr{FILE}),cvode_mem,errfp)
1717
end
1818

19-
CVodeSetErrFile(cvode_mem,errfp) = __CVodeSetErrFile(convert(CVODEMemPtr,cvode_mem),pointer(errfp))
19+
CVodeSetErrFile(cvode_mem,errfp) = __CVodeSetErrFile(convert(CVODEMemPtr,cvode_mem),errfp)
2020

2121
function __CVodeSetUserData(cvode_mem::CVODEMemPtr,user_data::Any)
2222
ccall((:CVodeSetUserData,libsundials_cvode),Cint,(CVODEMemPtr,Any),cvode_mem,user_data)

src/cvodes.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ function __CVodeSetErrFile(cvode_mem::CVODEMemPtr,errfp::Ptr{FILE})
166166
ccall((:CVodeSetErrFile,libsundials_cvodes),Cint,(CVODEMemPtr,Ptr{FILE}),cvode_mem,errfp)
167167
end
168168

169-
CVodeSetErrFile(cvode_mem,errfp) = __CVodeSetErrFile(convert(CVODEMemPtr,cvode_mem),pointer(errfp))
169+
CVodeSetErrFile(cvode_mem,errfp) = __CVodeSetErrFile(convert(CVODEMemPtr,cvode_mem),errfp)
170170

171171
function __CVodeSetUserData(cvode_mem::CVODEMemPtr,user_data::Any)
172172
ccall((:CVodeSetUserData,libsundials_cvodes),Cint,(CVODEMemPtr,Any),cvode_mem,user_data)

src/ida.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function __IDASetErrFile(ida_mem::IDAMemPtr,errfp::Ptr{FILE})
1616
ccall((:IDASetErrFile,libsundials_ida),Cint,(IDAMemPtr,Ptr{FILE}),ida_mem,errfp)
1717
end
1818

19-
IDASetErrFile(ida_mem,errfp) = __IDASetErrFile(convert(IDAMemPtr,ida_mem),pointer(errfp))
19+
IDASetErrFile(ida_mem,errfp) = __IDASetErrFile(convert(IDAMemPtr,ida_mem),errfp)
2020

2121
function __IDASetUserData(ida_mem::IDAMemPtr,user_data::Any)
2222
ccall((:IDASetUserData,libsundials_ida),Cint,(IDAMemPtr,Any),ida_mem,user_data)

src/idas.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function __IDASetErrFile(ida_mem::IDAMemPtr,errfp::Ptr{FILE})
1616
ccall((:IDASetErrFile,libsundials_idas),Cint,(IDAMemPtr,Ptr{FILE}),ida_mem,errfp)
1717
end
1818

19-
IDASetErrFile(ida_mem,errfp) = __IDASetErrFile(convert(IDAMemPtr,ida_mem),pointer(errfp))
19+
IDASetErrFile(ida_mem,errfp) = __IDASetErrFile(convert(IDAMemPtr,ida_mem),errfp)
2020

2121
function __IDASetUserData(ida_mem::IDAMemPtr,user_data::Any)
2222
ccall((:IDASetUserData,libsundials_idas),Cint,(IDAMemPtr,Any),ida_mem,user_data)

src/kinsol.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function __KINSetErrFile(kinmem::KINMemPtr,errfp::Ptr{FILE})
1616
ccall((:KINSetErrFile,libsundials_kinsol),Cint,(KINMemPtr,Ptr{FILE}),kinmem,errfp)
1717
end
1818

19-
KINSetErrFile(kinmem,errfp) = __KINSetErrFile(convert(KINMemPtr,kinmem),pointer(errfp))
19+
KINSetErrFile(kinmem,errfp) = __KINSetErrFile(convert(KINMemPtr,kinmem),errfp)
2020

2121
function __KINSetInfoHandlerFn(kinmem::KINMemPtr,ihfun::KINInfoHandlerFn,ih_data::Ptr{Void})
2222
ccall((:KINSetInfoHandlerFn,libsundials_kinsol),Cint,(KINMemPtr,KINInfoHandlerFn,Ptr{Void}),kinmem,ihfun,ih_data)
@@ -28,7 +28,7 @@ function __KINSetInfoFile(kinmem::KINMemPtr,infofp::Ptr{FILE})
2828
ccall((:KINSetInfoFile,libsundials_kinsol),Cint,(KINMemPtr,Ptr{FILE}),kinmem,infofp)
2929
end
3030

31-
KINSetInfoFile(kinmem,infofp) = __KINSetInfoFile(convert(KINMemPtr,kinmem),pointer(infofp))
31+
KINSetInfoFile(kinmem,infofp) = __KINSetInfoFile(convert(KINMemPtr,kinmem),infofp)
3232

3333
function __KINSetUserData(kinmem::KINMemPtr,user_data::Any)
3434
ccall((:KINSetUserData,libsundials_kinsol),Cint,(KINMemPtr,Any),kinmem,user_data)

src/wrap_sundials.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ function typeify_sundials_pointers(expr::Expr)
156156
if expr.args[2] == :N_Vector || ismatch(r"MemPtr$", string(expr.args[2]))
157157
# convert(XXXMemPtr, mem)
158158
Expr(:call, :convert, expr.args[2], expr.args[1])
159-
elseif isa(expr.args[2], Expr) && expr.args[2].head == :curly && expr.args[2].args[1] == :Ptr
159+
elseif isa(expr.args[2], Expr) && expr.args[2].head == :curly &&
160+
expr.args[2].args[1] == :Ptr && expr.args[2].args[2] != :FILE
160161
# convert julia arrays to pointer
161162
# FIXME sometimes these arguments are not really arrays, but just a pointer to a var to be assigned
162163
# by the function call. Does that make sense to detect such cases and assume that input arg is a reference to Julia var?

0 commit comments

Comments
 (0)