cl4d OpenCL wrapper moved to Github

Klyn klyn at no-email.com
Sun Jan 8 13:36:52 PST 2012


On Fri 30-Dec 10:00, Stephan wrote:
> On 29.12.2011 13:31, Trass3r wrote:
>> On Thursday, 29 December 2011 at 10:32:49 UTC, Extrawurst wrote:
>>> nice work. why moved to github ?
>>
>> I'm sick of having to switch from git to hg commands every time I work
>> on cl4d.
>> So I converted it to git, cleaned up the history and just put it on
>> Github cause it has nicer features.
>>
>>> btw. with dmd2057 and the -property flag it does not build anymore.
>>
>> I see, haven't used that switch yet.
>
> ok i can just use the c header ports, the wrapper just makes dmd choke
> "Stack Overflow" with this simple cmd line:
>
> dmd opencl\c\cl.d opencl\c\cl_ext.d opencl\c\cl_gl.d
> opencl\c\cl_gl_ext.d opencl\c\cl_platform.d opencl\c\opencl.d
> opencl\all.d opencl\buffer.d opencl\commandqueue.d opencl\context.d
> opencl\device.d opencl\error.d opencl\event.d opencl\host.d
> opencl\image.d opencl\kernel.d opencl\memory.d opencl\platform.d
> opencl\program.d opencl\sampler.d opencl\wrapper.d

Heh, I was just going to post about that too, guess I'll post it here:

(using dmd 2.057, eclipse+DDT, win7 x64)

Hi,

I'm trying to use cl4d, but when I compile I get a stack overflow..
This happens on the CLGLInterop.d example in the cl4d source.
After some stripping down, it seems just an empty module with an empty 
main() and an import opencl.all is enough to trigger the overflow:

--
module CLGLInterop;

import opencl.all;

void main(){}
--


Here's the verbose compile output:

--------  Build Commands:  --------
-od"bin"
-of"bin\test.exe"

-I"src"

"src\CLGLInterop.d"

-v
-d
-I"C:\_prog\D\custom2\derelict\import\"
-I"C:\_prog\D\custom2\cl4d\import\"

binary    C:\_prog\D\dmd2\windows\bin\dmd.exe
version   v2.057
config    C:\_prog\D\dmd2\windows\bin\sc.ini
parse     CLGLInterop
importall CLGLInterop
import    object 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\object.di)
import    opencl.all	(C:\_prog\D\custom2\cl4d\import\opencl\all.d)
import    opencl.c.opencl	(C:\_prog\D\custom2\cl4d\import\opencl\c\opencl.d)
import    opencl.c.cl	(C:\_prog\D\custom2\cl4d\import\opencl\c\cl.d)
import    opencl.c.cl_platform 
(C:\_prog\D\custom2\cl4d\import\opencl\c\cl_platform.d)
import    std.conv	(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d)
import    core.stdc.math 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\math.di)
import    core.stdc.config 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\config.di)
import    core.stdc.string 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\string.di)
import    core.stdc.stddef 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\stddef.di)
import    std.algorithm 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm.d)
import    std.c.string 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\c\string.d)
import    std.array 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\array.d)
import    core.memory 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\memory.di)
import    core.bitop 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\bitop.di)
import    std.ascii 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\ascii.d)
import    std.exception 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\exception.d)
import    std.range 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\range.d)
import    std.functional 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\functional.d)
import    std.metastrings 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\metastrings.d)
import    std.traits 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\traits.d)
import    std.typetuple 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\typetuple.d)
import    std.typecons 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\typecons.d)
import    core.stdc.stdlib 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\stdlib.di)
import    std.format 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\format.d)
import    core.stdc.stdio 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\stdio.di)
import    core.stdc.stdarg 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\stdarg.di)
import    core.vararg 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\vararg.di)
import    std.bitmanip 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\bitmanip.d)
import    std.math	(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\math.d)
import    std.string 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\string.d)
import    core.exception 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\exception.di)
import    std.regex 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\regex.d)
import    std.internal.uni 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\internal\uni.d)
import    std.uni	(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\uni.d)
import    std.internal.uni_tab 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\internal\uni_tab.d)
import    std.utf	(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\utf.d)
import    std.system 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\system.d)
import    core.stdc.errno 
(C:\_prog\D\dmd2\windows\bin\..\..\src\druntime\import\core\stdc\errno.di)
import    std.container 
(C:\_prog\D\dmd2\windows\bin\..\..\src\phobos\std\container.d)
import    opencl.c.cl_gl	(C:\_prog\D\custom2\cl4d\import\opencl\c\cl_gl.d)
import    opencl.c.cl_gl_ext 
(C:\_prog\D\custom2\cl4d\import\opencl\c\cl_gl_ext.d)
import    opencl.c.cl_ext	(C:\_prog\D\custom2\cl4d\import\opencl\c\cl_ext.d)
import    opencl.commandqueue 
(C:\_prog\D\custom2\cl4d\import\opencl\commandqueue.d)
import    opencl.buffer	(C:\_prog\D\custom2\cl4d\import\opencl\buffer.d)
import    opencl.context	(C:\_prog\D\custom2\cl4d\import\opencl\context.d)
import    opencl.device	(C:\_prog\D\custom2\cl4d\import\opencl\device.d)
import    opencl.error	(C:\_prog\D\custom2\cl4d\import\opencl\error.d)
import    opencl.platform	(C:\_prog\D\custom2\cl4d\import\opencl\platform.d)
import    opencl.wrapper	(C:\_prog\D\custom2\cl4d\import\opencl\wrapper.d)
import    opencl.kernel	(C:\_prog\D\custom2\cl4d\import\opencl\kernel.d)
import    opencl.memory	(C:\_prog\D\custom2\cl4d\import\opencl\memory.d)
import    opencl.program	(C:\_prog\D\custom2\cl4d\import\opencl\program.d)
import    opencl.sampler	(C:\_prog\D\custom2\cl4d\import\opencl\sampler.d)
import    opencl.event	(C:\_prog\D\custom2\cl4d\import\opencl\event.d)
import    opencl.image	(C:\_prog\D\custom2\cl4d\import\opencl\image.d)
import    opencl.host	(C:\_prog\D\custom2\cl4d\import\opencl\host.d)
semantic  CLGLInterop
Stack overflow


I'm at a loss.. Any ideas?


More information about the Digitalmars-d-announce mailing list