Re: Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Vladimir Panteleev via Digitalmars-d

On Wednesday, 13 June 2018 at 17:54:29 UTC, Atila Neves wrote:
Reviewing the dustmite documentation, I'm not sure how the 
reduction would work when the build that's broken is a dub one 
that uses local packages.


You will need to either reduce the test to a command which does 
not involve dub (its verbose output can help), or try using "dub 
dustmite" instead (I can't help much with the latter though).




Re: Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Atila Neves via Digitalmars-d
On Wednesday, 13 June 2018 at 17:30:34 UTC, Vladimir Panteleev 
wrote:

On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote:

[...]


I've used 64-bit DMD exclusively while Windows was my primary 
OS, but that was a few years ago.


[...]


Reviewing the dustmite documentation, I'm not sure how the 
reduction would work when the build that's broken is a dub one 
that uses local packages.


Re: Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Atila Neves via Digitalmars-d
On Wednesday, 13 June 2018 at 17:30:34 UTC, Vladimir Panteleev 
wrote:

On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote:
After too many days of frustration to be able to count, I 
finally discovered what works for our builds: the debug build 
of 64-bit dmd on Windows.


When I build the release version from the Makefile or use 
digger, it produces a dmd binary that crashes randomly (bad 
enough) or compiles executables which themselves crash or run 
forever (much, much worse).


I've used 64-bit DMD exclusively while Windows was my primary 
OS, but that was a few years ago.


Do you have a way to reproduce these problems reliably? If so, 
a few things you could try to narrow down the problem:


- Use DustMite and a test script that compiles a program with 
64-bit release dmd.exe and a 32-bit or 64-bit debug dmd.exe, 
and accepts any reductions in which only the former crashes.


Until recently, I only had random dmd crashes. It was only 
yesterday that I managed to get a build that failed consistently. 
I'll try dustmite on it.


On another note, it seems that debug dmd only crashes less 
frequently. It just crashed on me again.


- See if this is a regression (do older 64-bit DMDs work OK?), 
and if so, use Digger to find where it was introduced.


We never had problems up until 2.77.3 if I'm not mistaken.

- It's possible that the bug occurs not in the compiled DMD 
code, but in the host DMD compiler. There was at least one 
recorded case of a bug in the host DMD resulting in a broken 
built DMD which in turn executed successfully, but built broken 
programs. A discrepancy between which host DMD compiler is used 
can sometimes explain why some tests succeed on CI but fail 
locally, or vice versa.


I tried multiple versions of host dmd. No differences in 
behaviour.


Atila




Re: Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Vladimir Panteleev via Digitalmars-d

On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote:
After too many days of frustration to be able to count, I 
finally discovered what works for our builds: the debug build 
of 64-bit dmd on Windows.


When I build the release version from the Makefile or use 
digger, it produces a dmd binary that crashes randomly (bad 
enough) or compiles executables which themselves crash or run 
forever (much, much worse).


I've used 64-bit DMD exclusively while Windows was my primary OS, 
but that was a few years ago.


Do you have a way to reproduce these problems reliably? If so, a 
few things you could try to narrow down the problem:


- Use DustMite and a test script that compiles a program with 
64-bit release dmd.exe and a 32-bit or 64-bit debug dmd.exe, and 
accepts any reductions in which only the former crashes.


- See if this is a regression (do older 64-bit DMDs work OK?), 
and if so, use Digger to find where it was introduced.


- It's possible that the bug occurs not in the compiled DMD code, 
but in the host DMD compiler. There was at least one recorded 
case of a bug in the host DMD resulting in a broken built DMD 
which in turn executed successfully, but built broken programs. A 
discrepancy between which host DMD compiler is used can sometimes 
explain why some tests succeed on CI but fail locally, or vice 
versa.




Re: Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Ethan via Digitalmars-d

On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote:
This post is both a warning to the intrepid D programmers out 
there who'd rather not hit a 4GB RAM limit for no reason on 
Windows and also a question to see if anybody has been able to 
use 64-bit dmd on Windows like  intended.


Works For Me(TM). But, as I mentioned in a thread a few weeks 
back, I open the Visual Studio solution and compile with the help 
of VisualD. I also just dump the resultant .exe over the release 
version.


I guess it's time to repeat the point though: Win64 DMD needs to 
be released alongside Win32. Day and date.


Has anyone been successful using 64-bit release dmd on Windows?

2018-06-13 Thread Atila Neves via Digitalmars-d
After too many days of frustration to be able to count, I finally 
discovered what works for our builds: the debug build of 64-bit 
dmd on Windows.


When I build the release version from the Makefile or use digger, 
it produces a dmd binary that crashes randomly (bad enough) or 
compiles executables which themselves crash or run forever (much, 
much worse).


In all cases I installed dmd 2.080.0 from the installer then just 
copied over dmd.exe over the 32-bit one. I can't see what reason 
there'd be for the pre-built druntime and phobos binaries to not 
work just because dmd changed from 32-bit to 64-bit. But who 
knows.


This post is both a warning to the intrepid D programmers out 
there who'd rather not hit a 4GB RAM limit for no reason on 
Windows and also a question to see if anybody has been able to 
use 64-bit dmd on Windows like  intended.


Slightly slower builds are definitely better than ones that are 
flaky or hit gitlab's time limit.


Atila


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-23 Thread Dlang User via Digitalmars-d

On 5/23/2018 3:20 PM, Vladimir Panteleev wrote:

On Wednesday, 23 May 2018 at 20:17:04 UTC, Dlang User wrote:

I tried adding bootstrap option for 64 bit:

digger -c build.components.dmd.dmdModel=64 -c 
build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0


Which didn't work (totally different error):


Looks like more DMD bugs. Try more host versions, e.g. v2.079.0 or 
v2.080.0.




Thank you. I had success with using v2.080.0 as the bootstrap:

digger -c build.components.dmd.dmdModel=64 -c 
build.components.dmd.bootstrap.ver=v2.080.0 build --model=64 v2.080.0







Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-23 Thread Vladimir Panteleev via Digitalmars-d

On Wednesday, 23 May 2018 at 20:17:04 UTC, Dlang User wrote:

I tried adding bootstrap option for 64 bit:

digger -c build.components.dmd.dmdModel=64 -c 
build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 
v2.080.0


Which didn't work (totally different error):


Looks like more DMD bugs. Try more host versions, e.g. v2.079.0 
or v2.080.0.




Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-23 Thread Dlang User via Digitalmars-d

On 5/23/2018 12:42 PM, Vladimir Panteleev wrote:

On Wednesday, 23 May 2018 at 17:35:28 UTC, Dlang User wrote:
I too am looking for 64-bit on Windows 10.  Not just DMD but ideally 
everything.


When I try the command exactly as above, or a slightly modified 
version (on a second run show after this run), I hit an error on my 
machine:


Internal error: dmd\backend\cod3.c 6830


Hmm, that looks like a DMD bug/regression. I think that should have been 
caught by the auto-tester. In any case, try adding --model=64 to your 
command to also build a 64-bit Phobos, as that seems to be what you're 
after anyway. You could also try specifying a different (newer?) host 
DMD version with e.g. `-c build.components.dmd.bootstrap.ver=v2.075.0`.




Thanks for looking at this, I actually did try adding --model=64, in the 
second run that I was referring to in my original post, but that 
resulted in the same error.


Some additional things I realized when trying to use digger on my machine:

Digger is only failing when trying to use the 
build.components.dmd.dmdModel=64 switch, so when trying to build 64 bit 
DMD.


digger -c build.components.dmd.dmdModel=64 build --model=64 v2.080.0

The first time the error is this (so this is probably the real error):

FLunde  Internal error: dmd\backend\cod3.c 5488

The second time, the error is (this is probably due to the previous 
failed run):


Internal error: dmd\backend\cod3.c 6830


I tried adding bootstrap option for 32 bit, and that worked fine:

digger -c build.components.dmd.dmdModel=32 -c 
build.components.dmd.bootstrap.ver=v2.075.0 build --model=32 v2.080.0


I tried adding bootstrap option for 64 bit:

digger -c build.components.dmd.dmdModel=64 -c 
build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0


Which didn't work (totally different error):

C:\DProj\digger\work\dl\dmd-2.075.0\dmd2/windows/bin\dmd.exe 
-of..\generated\windows\release\64\dmd.exe -vtls 
-J..\generated\windows\release\64 -J../res -L/STACK:8388608 -O -release 
-inline -m64  -wi -version=MARS -L/delexe/la dmd/access.d 
dmd/aggregate.d dmd/aliasthis.d dmd/apply.d dmd/argtypes.d dmd/arrayop.d 
dmd/arraytypes.d dmd/astcodegen.d dmd/attrib.d dmd/builtin.d 
dmd/canthrow.d dmd/cli.d dmd/clone.d dmd/compiler.d dmd/complex.d 
dmd/cond.d dmd/constfold.d dmd/cppmangle.d dmd/cppmanglewin.d 
dmd/ctfeexpr.d dmd/ctorflow.d dmd/dcast.d dmd/dclass.d 
dmd/declaration.d dmd/delegatize.d dmd/denum.d dmd/dimport.d 
dmd/dinifile.d dmd/dinterpret.ddmd/dmacro.d dmd/dmangle.d 
dmd/dmodule.d dmd/doc.d dmd/dscope.d dmd/dstruct.d dmd/dsymbol.d 
dmd/dsymbolsem.d dmd/lambdacomp.d dmd/dtemplate.d 
dmd/dversion.d dmd/escape.ddmd/expression.d 
dmd/expressionsem.d dmd/func.d dmd/hdrgen.d dmd/id.d dmd/imphint.d 
dmd/impcnvtab.d dmd/init.d dmd/initsem.d dmd/inline.d dmd/inlinecost.d 
dmd/intrange.d dmd/json.d dmd/lib.d dmd/link.d   dmd/mars.d dmd/mtype.d 
dmd/nogc.d dmd/nspace.d dmd/objc.d dmd/opover.d dmd/optimize.d 
dmd/parse.ddmd/sapply.d dmd/sideeffect.d dmd/statement.d 
dmd/staticassert.d dmd/target.d   dmd/safe.d dmd/blockexit.d 
dmd/permissivevisitor.d dmd/transitivevisitor.d dmd/parsetimevisitor.d 
dmd/printast.d dmd/typesem.d  dmd/traits.d dmd/utils.d dmd/visitor.d 
dmd/libomf.d dmd/scanomf.d dmd/templateparamsem.d dmd/typinf.d 
dmd/libmscoff.d dmd/scanmscoff.d dmd/statement_rewrite_walker.d 
dmd/statementsem.d dmd/staticcond.d  dmd/semantic2.d dmd/semantic3.d 
dmd/irstate.d dmd/toctype.d dmd/glue.d dmd/gluelayer.d dmd/todt.d 
dmd/tocsym.d dmd/toir.d dmd/dmsc.d  dmd/tocvdebug.d dmd/s2ir.d 
dmd/toobj.d dmd/e2ir.d dmd/objc_glue.d dmd/eh.d dmd/iasm.d 
dmd\backend/bcomplex.d dmd\backend/cc.d dmd\backend/cdef.d 
dmd\backend/cgcv.d dmd\backend/code.d dmd\backend/cv4.d dmd\backend/dt.d 
dmd\backend/el.d dmd\backend/global.d  dmd\backend/obj.d 
dmd\backend/oper.d dmd\backend/outbuf.d dmd\backend/rtlsym.d 
dmd\backend/code_x86.d dmd\backend/iasm.d  dmd\backend/ty.d 
dmd\backend/type.d dmd\backend/exh.d dmd\backend/mach.d 
dmd\backend/md5.d dmd\backend/mscoff.d dmd\backend/dwarf.d 
dmd\backend/dwarf2.d dmd\backend/xmm.d dmd\tk/dlist.d dmd\root/aav.d 
dmd\root/array.d dmd\root/ctfloat.d dmd\root/file.d  dmd\root/filename.d 
dmd\root/man.d dmd\root/outbuffer.d dmd\root/port.d  dmd\root/response.d 
dmd\root/rmem.d dmd\root/rootobject.d  dmd\root/speller.d 
dmd\root/stringtable.d dmd\root/hash.d 
..\generated\windows\release\64\newdelete.obj 
..\generated\windows\release\64\backend.lib 
..\generated\windows\release\64\lexer.lib


object.Error@(0): Access Violation

0x004CF5B7
0x004987C7
0x77B716B7 in RtlAllocateHeap
0x00441CCD
0x0064DE30
0x0044E40A
0x00405B42

--- errorlevel 1

--- errorlevel 1

--- errorlevel 1
digger: Saving to cache.
digger: Clearing temporary cache

object.Exception@C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(850): 
Command ["make", "-f", "win64.mak", "MODEL=64

Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-23 Thread Vladimir Panteleev via Digitalmars-d

On Wednesday, 23 May 2018 at 17:35:28 UTC, Dlang User wrote:
I too am looking for 64-bit on Windows 10.  Not just DMD but 
ideally everything.


When I try the command exactly as above, or a slightly modified 
version (on a second run show after this run), I hit an error 
on my machine:


Internal error: dmd\backend\cod3.c 6830


Hmm, that looks like a DMD bug/regression. I think that should 
have been caught by the auto-tester. In any case, try adding 
--model=64 to your command to also build a 64-bit Phobos, as that 
seems to be what you're after anyway. You could also try 
specifying a different (newer?) host DMD version with e.g. `-c 
build.components.dmd.bootstrap.ver=v2.075.0`.




Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-23 Thread Dlang User via Digitalmars-d

On 5/22/2018 10:03 AM, Atila Neves wrote:

On Tuesday, 22 May 2018 at 13:30:02 UTC, Vladimir Panteleev wrote:

On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote:

On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev wrote:

digger build --model=64

If you don't have Digger yet, you can run it straight from Dub:

dub fetch digger
dub run digger -- build --model=64


I keep forgetting about digger for some reason. Unfortunately the 
command above produced a 32-bit dmd. 64-bit druntime and phobos, but 
32-bit dmd.


Atila


Apologies, that indeed is the wrong command.

This should work:

dub run digger -- -c build.components.dmd.dmdModel=64 build


Thanks!

That was pretty confusing though - and I consulted the documentation 
before trying --model=64 myself.


In any case, I seem to have gotten a working 64-bit version of dmd.


I too am looking for 64-bit on Windows 10.  Not just DMD but ideally 
everything.


When I try the command exactly as above, or a slightly modified version 
(on a second run show after this run), I hit an error on my machine:


Internal error: dmd\backend\cod3.c 6830


Does anyone have any suggestions?  It could be something simple, as I am 
relitivly new to D.  I have windows 10 64 bit and I have v2.080.0 of D 
installed and I have VS2017 installed and I am able to complile D code 
to create a 64bit apps. I have tried compiling digger as both 32bit and 
64bit, and that made no difference.


If I run digger to build 32 bit DMD, then it succeeds with or without 
the --model=64 switch:


digger build v2.080.0
digger build v2.080.0 --model=64





In the case of the original command I see this:

digger -c build.components.dmd.dmdModel=64 build

C:\DProj\digger\work\build\bin\dmd.exe -lib -oflib\druntime.lib 
-Xfdruntime.json -m32 -conf= -O -release -dip1000 -inline -w -Isrc 
-Iimport src\object.d   src\core\atomic.d  src\core\attribute.d 
src\core\bitop.d  src\core\checkedint.d  src\core\cpuid.d 
src\core\demangle.d  src\core\exception.d  src\core\math.d 
src\core\memory.d  src\core\runtime.d  src\core\simd.d 
src\core\thread.d  src\core\time.d  src\core\vararg.d 
src\core\internal\abort.d  src\core\internal\arrayop.d 
src\core\internal\convert.d  src\core\internal\hash.d 
src\core\internal\parseoptions.d  src\core\internal\spinlock.d 
src\core\internal\string.d  src\core\internal\traits.d 
src\core\stdc\assert_.d  src\core\stdc\complex.d  src\core\stdc\config.d 
 src\core\stdc\ctype.d  src\core\stdc\errno.d  src\core\stdc\fenv.d 
src\core\stdc\float_.d  src\core\stdc\inttypes.d  src\core\stdc\limits.d 
 src\core\stdc\locale.d  src\core\stdc\math.d  src\core\stdc\signal.d 
src\core\stdc\stdarg.d  src\core\stdc\stddef.d  src\core\stdc\stdint.d 
src\core\stdc\stdio.d  src\core\stdc\stdlib.d  src\core\stdc\string.d 
src\core\stdc\time.d  src\core\stdc\wchar_.d   src\core\sync\barrier.d 
src\core\sync\condition.d  src\core\sync\config.d 
src\core\sync\exception.d  src\core\sync\mutex.d 
src\core\sync\rwmutex.d  src\core\sync\semaphore.d 
src\core\sys\darwin\netinet\in_.d   src\core\sys\freebsd\dlfcn.d 
src\core\sys\freebsd\execinfo.d  src\core\sys\freebsd\netinet\in_.d 
src\core\sys\freebsd\sys\_bitset.d  src\core\sys\freebsd\sys\_cpuset.d 
src\core\sys\freebsd\sys\cdefs.d  src\core\sys\freebsd\sys\elf_common.d 
src\core\sys\freebsd\sys\elf.d  src\core\sys\freebsd\sys\elf32.d 
src\core\sys\freebsd\sys\elf64.d  src\core\sys\freebsd\sys\event.d 
src\core\sys\freebsd\sys\link_elf.d  src\core\sys\freebsd\sys\mman.d 
src\core\sys\freebsd\time.d   src\core\sys\dragonflybsd\dlfcn.d 
src\core\sys\dragonflybsd\execinfo.d 
src\core\sys\dragonflybsd\netinet\in_.d 
src\core\sys\dragonflybsd\sys\_bitset.d 
src\core\sys\dragonflybsd\sys\_cpuset.d 
src\core\sys\dragonflybsd\sys\cdefs.d 
src\core\sys\dragonflybsd\sys\elf_common.d 
src\core\sys\dragonflybsd\sys\elf.d 
src\core\sys\dragonflybsd\sys\elf32.d 
src\core\sys\dragonflybsd\sys\elf64.d 
src\core\sys\dragonflybsd\sys\event.d 
src\core\sys\dragonflybsd\sys\link_elf.d 
src\core\sys\dragonflybsd\sys\mman.d  src\core\sys\dragonflybsd\time.d 
src\core\sys\linux\netinet\in_.d  src\core\sys\linux\netinet\tcp.d 
src\core\sys\linux\stdio.d  src\core\sys\linux\tipc.d 
src\core\sys\linux\sys\inotify.d  src\core\sys\linux\sys\mman.d 
src\core\sys\linux\sys\signalfd.d  src\core\sys\linux\sys\socket.d 
src\core\sys\linux\sys\sysinfo.d  src\core\sys\linux\sys\time.d 
src\core\sys\linux\sys\xattr.d   src\core\sys\posix\dirent.d 
src\core\sys\posix\signal.d  src\core\sys\posix\netdb.d 
src\core\sys\posix\netinet\in_.d  src\core\sys\posix\arpa\inet.d 
src\core\sys\posix\sys\ioctl.d  src\core\sys\posix\sys\ipc.d 
src\core\sys\posix\sys\mman.d  src\core\sys\posix\sys\resource.d 
src\core\sys\posix\sys\select.d  src\core\sys\posix\sys\shm.d 
src\core\sys\posix\sys\socket.d  src\core\sys\posix\sys\stat.d 
src\core\sys\posix\sys\statvfs.d  src\core\sys\posix\sys\time.d 
src\core\sys\posix\sys\types.d  src\core\sys\posix\sys\uio.d 
src\core\sys\posi

Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-22 Thread Atila Neves via Digitalmars-d

On Tuesday, 22 May 2018 at 13:30:02 UTC, Vladimir Panteleev wrote:

On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote:
On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev 
wrote:

digger build --model=64

If you don't have Digger yet, you can run it straight from 
Dub:


dub fetch digger
dub run digger -- build --model=64


I keep forgetting about digger for some reason. Unfortunately 
the command above produced a 32-bit dmd. 64-bit druntime and 
phobos, but 32-bit dmd.


Atila


Apologies, that indeed is the wrong command.

This should work:

dub run digger -- -c build.components.dmd.dmdModel=64 build


Thanks!

That was pretty confusing though - and I consulted the 
documentation before trying --model=64 myself.


In any case, I seem to have gotten a working 64-bit version of 
dmd.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-22 Thread Vladimir Panteleev via Digitalmars-d

On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote:
On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev 
wrote:

digger build --model=64

If you don't have Digger yet, you can run it straight from Dub:

dub fetch digger
dub run digger -- build --model=64


I keep forgetting about digger for some reason. Unfortunately 
the command above produced a 32-bit dmd. 64-bit druntime and 
phobos, but 32-bit dmd.


Atila


Apologies, that indeed is the wrong command.

This should work:

dub run digger -- -c build.components.dmd.dmdModel=64 build



Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-22 Thread Atila Neves via Digitalmars-d
On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev 
wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you 
ask. Yes. If you want a version with debug messages turned on. 
It took me 45min to learn that disabling those is... 
non-trivial.


I realize you all must be sick of me by now, but:

digger build --model=64

If you don't have Digger yet, you can run it straight from Dub:

dub fetch digger
dub run digger -- build --model=64


I keep forgetting about digger for some reason. Unfortunately the 
command above produced a 32-bit dmd. 64-bit druntime and phobos, 
but 32-bit dmd.


Atila


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-16 Thread Vladimir Panteleev via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. 
Yes. If you want a version with debug messages turned on. It 
took me 45min to learn that disabling those is... non-trivial.


I realize you all must be sick of me by now, but:

digger build --model=64

If you don't have Digger yet, you can run it straight from Dub:

dub fetch digger
dub run digger -- build --model=64



Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-16 Thread Rubn via Digitalmars-d

On Wednesday, 16 May 2018 at 11:21:21 UTC, Atila Neves wrote:

On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

[...]


Which DMD version are you using to compile with? There was an 
issue in DMD a while back that prevented the 64-bit version 
from being compiled.


Yah I have no idea how making the installer works but it 
obviously isn't a works by default and needs to be built in a 
certain environment. There isn't any documentation on this as 
far as I know.


What I do is just grab what is built from appveyor and replace 
the dmd.exe that was installed using the installer. Worked a 
while back not sure if that's still the case:


https://ci.appveyor.com/project/greenify/dmd/build/artifacts


So... funny story. I did that and started randomly getting 
`dmd.exe failed with exit code -1073741819` error messages. 
Which just happens to be what I was seeing when I built it 
myself and tried using `-O` or removing `-debug`. So at least 
it's consistent?


Atila


Yah I think it was something like that, I'm using 32-bit so it 
has probably been like that for a while. Doesn't help that there 
is very little testing on Windows. There is testing done to make 
sure DMD works compiling several projects, but that's only done 
on Linux and not Windows/OSX.




Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-16 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

[...]


Which DMD version are you using to compile with? There was an 
issue in DMD a while back that prevented the 64-bit version 
from being compiled.


Yah I have no idea how making the installer works but it 
obviously isn't a works by default and needs to be built in a 
certain environment. There isn't any documentation on this as 
far as I know.


What I do is just grab what is built from appveyor and replace 
the dmd.exe that was installed using the installer. Worked a 
while back not sure if that's still the case:


https://ci.appveyor.com/project/greenify/dmd/build/artifacts


So... funny story. I did that and started randomly getting 
`dmd.exe failed with exit code -1073741819` error messages. Which 
just happens to be what I was seeing when I built it myself and 
tried using `-O` or removing `-debug`. So at least it's 
consistent?


Atila


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-16 Thread Russel Winder via Digitalmars-d
On Tue, 2018-05-15 at 22:07 +, Atila Neves via Digitalmars-d wrote:
> On Tuesday, 15 May 2018 at 17:40:46 UTC, 12345swordy wrote:
> > On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
> > > [...]
> > 
> > Wait, dmd doesn't use cmake to generate the makefile!? IMO this 
> > is the reason why configuration tools like cmake exist.
> 
> CMake? Hah, no. They're hand crafted Makefiles written with 
> quills.

Crickey, I thought they had been carved into the fabric of the Universe using
stone tools.

;-)

-- 
Russel.
==
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


signature.asc
Description: This is a digitally signed message part


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-16 Thread Russel Winder via Digitalmars-d
On Tue, 2018-05-15 at 17:40 +, 12345swordy via Digitalmars-d wrote:
> 
[…]
> Wait, dmd doesn't use cmake to generate the makefile!? IMO this 
> is the reason why configuration tools like cmake exist.

Last time I mentioned updating any build systems in the D-verse, some people
mentioned "try it and lets see" which is sensible, but most people said
effectively "Make is the pinnacle of build you cannot dare suggest it is not
the right tool for the job." which put me off sufficient to stop thinking
about it.

Then we had the CMake/Meson/Reggae/Dub/SCons debate and it descended into a
thread with so many not-relabelled sub-threads, and so long, I gave up. It
seems whilst there are some people wanting to update the build, it generates
sufficient noise that no-one individual or small group can be bothered to push
through the inertia.

CMake could do the job despite being horrible. Meson is probably a better tool
but it involves Ninja not Make. Reggae could do the job but suffers from not
being a build tool in the top club, i.e. people do not think of it as an
option since it has little traction. I am not sure if Dub could do the job.
SCons could but I am probably one of the few in the D community who like it.

So as always inertia and the status quo win. 


PS Given that I now mostly do Rust/Cargo/GTK/GStreamer stuff, I have stopped
thinking about ways of doing builds of D codebases not using Dub, Scons, or
Meson. It does make me wish Dub was more like Cargo than it is.

-- 
Russel.
==
Dr Russel Winder  t: +44 20 7585 2200
41 Buckmaster Roadm: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


signature.asc
Description: This is a digitally signed message part


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Walter Bright via Digitalmars-d

On 5/15/2018 3:13 PM, Atila Neves wrote:
I'm sure there's a good reason why there's no pre-built 64-bit dmd for Windows, 
I just don't know what it is.


Part of it is there was no Win64 bit code generation capability for quite a 
while.

Then there was the issue of VC not supporting 80 bit reals.

But I think these are resolved now.



Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Walter Bright via Digitalmars-d

On 5/15/2018 3:15 PM, Atila Neves wrote:

https://issues.dlang.org/show_bug.cgi?id=18864


:-)



Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 19:43:25 UTC, Walter Bright wrote:

On 5/15/2018 9:01 AM, Atila Neves wrote:
I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun.


Please file this post on bugzilla.


https://issues.dlang.org/show_bug.cgi?id=18864


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 19:54:03 UTC, Ethan Watson wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

Isn't it just make -f win64.mak?", I hear you ask.


I wouldn't ask that. Every time I need a 64-bit dmd, I open the 
project in src/vcbuild and let Visual Studio and Visual D take 
care of it.


Unfortunately, that doesn't work so well when one is trying to 
automate the provisioning of a Windows dev/CI box from scratch. I 
guess I could try msbuild on it...


But I agree with the subject entirely. 64-bit DMD is absolutely 
required for my own usage. The Linux platforms have i386/x64 
downloads. OSX is going 64-bit only. Having both packages 
available for Windows would be much appreciated.


I'm sure there's a good reason why there's no pre-built 64-bit 
dmd for Windows, I just don't know what it is.






Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

[...]


Which DMD version are you using to compile with?


dmd 2.080.0 installed today.


Yah I have no idea how making the installer works


I know how it works, I just don't know how it built the dmd that 
it packaged.


but it obviously isn't a works by default and needs to be built 
in a certain environment. There isn't any documentation on this 
as far as I know.


Martin posted somewhere about what was needed to build the 
installer. I can't remember where though, and it wouldn't be 
trivial to reproduce, let alone automate. In any case, I can't 
build it myself to find out.


What I do is just grab what is built from appveyor and replace 
the dmd.exe that was installed using the installer. Worked a 
while back not sure if that's still the case:


https://ci.appveyor.com/project/greenify/dmd/build/artifacts


I didn't know that was a thing - it might just be the way 
forward. Thanks!


Atila



Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 18:20:29 UTC, Stefan Koch wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, 
but at least there should be an option.


[...]


You need to do make clean.
As the backend build with debug symbols will be ABI 
incompatible to the release frontend.


make clean on a just-cloned git repo?


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d

On Tuesday, 15 May 2018 at 17:40:46 UTC, 12345swordy wrote:

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

[...]


Wait, dmd doesn't use cmake to generate the makefile!? IMO this 
is the reason why configuration tools like cmake exist.


CMake? Hah, no. They're hand crafted Makefiles written with 
quills.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Meta via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. 
Yes. If you want a version with debug messages turned on. It 
took me 45min to learn that disabling those is... non-trivial.


As it turns out, trying to build dmd yourself from the released 
tag and replacing the .exe from the installer by the one you 
created works, unless:


1. You remove -debug
2. You add -O

If you do #1 or #2, then the produced dmd.exe doesn't work. At 
all. 32 *or* 64 bits. And this is something you need to edit 
the makefile for, trying to do that from the command line was 
an exercise in futility.


"How does the installer-built version work then?", I again hear 
you ask. No idea. Debug 64-bit dmd it is!


I *would* try and add a 64-bit dmd to the installer, but 
apparently to build the Windows installer you need a special 
Windows box commisioned by the Vatican and blessed by the Pope 
himself.


Atila


I haven't tried 64-bit builds in awhile, but every time I try to 
build on Windows I run into some new issue that I have to work 
through. Just recently there was a check added to the build 
process which fails if there are Windows line endings in any 
source files, which IMO is insane since you're just building, not 
committing.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Ethan Watson via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:

Isn't it just make -f win64.mak?", I hear you ask.


I wouldn't ask that. Every time I need a 64-bit dmd, I open the 
project in src/vcbuild and let Visual Studio and Visual D take 
care of it.


But I agree with the subject entirely. 64-bit DMD is absolutely 
required for my own usage. The Linux platforms have i386/x64 
downloads. OSX is going 64-bit only. Having both packages 
available for Windows would be much appreciated.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Rubn via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. 
Yes. If you want a version with debug messages turned on. It 
took me 45min to learn that disabling those is... non-trivial.


As it turns out, trying to build dmd yourself from the released 
tag and replacing the .exe from the installer by the one you 
created works, unless:


1. You remove -debug
2. You add -O

If you do #1 or #2, then the produced dmd.exe doesn't work. At 
all. 32 *or* 64 bits. And this is something you need to edit 
the makefile for, trying to do that from the command line was 
an exercise in futility.


"How does the installer-built version work then?", I again hear 
you ask. No idea. Debug 64-bit dmd it is!


I *would* try and add a 64-bit dmd to the installer, but 
apparently to build the Windows installer you need a special 
Windows box commisioned by the Vatican and blessed by the Pope 
himself.


Atila


Which DMD version are you using to compile with? There was an 
issue in DMD a while back that prevented the 64-bit version from 
being compiled.


Yah I have no idea how making the installer works but it 
obviously isn't a works by default and needs to be built in a 
certain environment. There isn't any documentation on this as far 
as I know.


What I do is just grab what is built from appveyor and replace 
the dmd.exe that was installed using the installer. Worked a 
while back not sure if that's still the case:


https://ci.appveyor.com/project/greenify/dmd/build/artifacts


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Walter Bright via Digitalmars-d

On 5/15/2018 9:01 AM, Atila Neves wrote:

I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun.


Please file this post on bugzilla.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Stefan Koch via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


[...]


You need to do make clean.
As the backend build with debug symbols will be ABI incompatible 
to the release frontend.


Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Dmitry Olshansky via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


[...]


Far as I know VS project shoukd build x64 version just fine with 
MS C++ compiler. Used to be that way a couple years ago.



As it turns out, trying to build dmd yourself from the released 
tag and replacing the .exe from the installer by the one you 
created works, unless:


[...]




Re: Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread 12345swordy via Digitalmars-d

On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote:
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. 
Yes. If you want a version with debug messages turned on. It 
took me 45min to learn that disabling those is... non-trivial.


As it turns out, trying to build dmd yourself from the released 
tag and replacing the .exe from the installer by the one you 
created works, unless:


1. You remove -debug
2. You add -O

If you do #1 or #2, then the produced dmd.exe doesn't work. At 
all. 32 *or* 64 bits. And this is something you need to edit 
the makefile for, trying to do that from the command line was 
an exercise in futility.


"How does the installer-built version work then?", I again hear 
you ask. No idea. Debug 64-bit dmd it is!


I *would* try and add a 64-bit dmd to the installer, but 
apparently to build the Windows installer you need a special 
Windows box commisioned by the Vatican and blessed by the Pope 
himself.


Atila


Wait, dmd doesn't use cmake to generate the makefile!? IMO this 
is the reason why configuration tools like cmake exist.


Why is 64-bit dmd not built as part of the Windows release?

2018-05-15 Thread Atila Neves via Digitalmars-d
I don't know why even bother with 32-bit dmd to begin with, but 
at least there should be an option.


I just spent 45min trying to build 64-bit dmd on Windows. It 
wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. 
Yes. If you want a version with debug messages turned on. It took 
me 45min to learn that disabling those is... non-trivial.


As it turns out, trying to build dmd yourself from the released 
tag and replacing the .exe from the installer by the one you 
created works, unless:


1. You remove -debug
2. You add -O

If you do #1 or #2, then the produced dmd.exe doesn't work. At 
all. 32 *or* 64 bits. And this is something you need to edit the 
makefile for, trying to do that from the command line was an 
exercise in futility.


"How does the installer-built version work then?", I again hear 
you ask. No idea. Debug 64-bit dmd it is!


I *would* try and add a 64-bit dmd to the installer, but 
apparently to build the Windows installer you need a special 
Windows box commisioned by the Vatican and blessed by the Pope 
himself.


Atila


Re: DMD 64-bit Windows

2017-03-30 Thread Inquie via Digitalmars-d

On Friday, 31 March 2017 at 05:42:08 UTC, Inquie wrote:

On Friday, 11 November 2016 at 17:04:08 UTC, Mario Silva wrote:
On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
wrote:
On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
wrote:
I haven't tried it yet, but I would want to avoid changing 
the compiler at this point, since we already have all our 
tooling build around DMD.


That is why I'm asking specifically about the state of the 
64-bit windows version of DMD.


There is no official 64 bit build of DMD, but it's quite easy 
to make one yourself using Digger:


https://github.com/CyberShadow/Digger

Since the 64 bit build is not automatically tested master 
will sometimes fail to compile, but sticking to releases 
always works for me so far.


Thanks all for the info, I build it locally as suggested.

Still not sure why there is not an official release it since 
it is already being supported. I would suggest doing it so if 
possible.



I second that. Either add a dmdx64.exe to the regular release 
or create a new package for it. It would be very nice to have. 
If we have to build it ourselves then it means that who ever 
builds x86 can do it too and add it to the package quite easily.


I am having trouble building phobos for x64. Mainly runtime. This 
is due to the fact that the paths for druntime are hard coded to 
old visual studio versions. They should not be hard coded by 
attempt to detect(derive from registry settings or paths).


I get

--- errorlevel -1073741701

which is uninformative.

I was able to built for x86 without issue. (although phobos 
crapped out on trying to build druntime, I was able to build 
druntime first then phobos and it worked)




Re: DMD 64-bit Windows

2017-03-30 Thread Inquie via Digitalmars-d

On Friday, 11 November 2016 at 17:04:08 UTC, Mario Silva wrote:
On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
wrote:
On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
wrote:
I haven't tried it yet, but I would want to avoid changing 
the compiler at this point, since we already have all our 
tooling build around DMD.


That is why I'm asking specifically about the state of the 
64-bit windows version of DMD.


There is no official 64 bit build of DMD, but it's quite easy 
to make one yourself using Digger:


https://github.com/CyberShadow/Digger

Since the 64 bit build is not automatically tested master will 
sometimes fail to compile, but sticking to releases always 
works for me so far.


Thanks all for the info, I build it locally as suggested.

Still not sure why there is not an official release it since it 
is already being supported. I would suggest doing it so if 
possible.



I second that. Either add a dmdx64.exe to the regular release or 
create a new package for it. It would be very nice to have. If we 
have to build it ourselves then it means that who ever builds x86 
can do it too and add it to the package quite easily.


Re: DMD 64-bit Windows

2016-11-11 Thread Mario Silva via Digitalmars-d
On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
wrote:
On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
wrote:
I haven't tried it yet, but I would want to avoid changing the 
compiler at this point, since we already have all our tooling 
build around DMD.


That is why I'm asking specifically about the state of the 
64-bit windows version of DMD.


There is no official 64 bit build of DMD, but it's quite easy 
to make one yourself using Digger:


https://github.com/CyberShadow/Digger

Since the 64 bit build is not automatically tested master will 
sometimes fail to compile, but sticking to releases always 
works for me so far.


Thanks all for the info, I build it locally as suggested.

Still not sure why there is not an official release it since it 
is already being supported. I would suggest doing it so if 
possible.


Re: DMD 64-bit Windows

2016-11-10 Thread Benjamin Thaut via Digitalmars-d

On Wednesday, 9 November 2016 at 16:34:13 UTC, Mario Silva wrote:

Hey everyone,

While compiling our 64-bit app under Windows, DMD is getting 
out of memory.
I wasn't able to find a windows version of DMD64, is there even 
one? If not, are there any plans? This is quite a show stopper 
for us.


Thanks in advance,
Mario


If you have VisualD installed just check out the dlang/dmd 
repository on github using the last release branch and open the 
visual studio solution inside the "vcbuild" directory. Then build 
the x64 version of ddmd and use that. It is safe to rename the 
resulting binary from "ddmd.exe" to "dmd.exe". You can replace 
dmd.exe in your install with this newly build executable and 
everything will work.


Re: DMD 64-bit Windows

2016-11-10 Thread Rene Zwanenburg via Digitalmars-d

On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva wrote:
I haven't tried it yet, but I would want to avoid changing the 
compiler at this point, since we already have all our tooling 
build around DMD.


That is why I'm asking specifically about the state of the 
64-bit windows version of DMD.


There is no official 64 bit build of DMD, but it's quite easy to 
make one yourself using Digger:


https://github.com/CyberShadow/Digger

Since the 64 bit build is not automatically tested master will 
sometimes fail to compile, but sticking to releases always works 
for me so far.




Re: DMD 64-bit Windows

2016-11-10 Thread Mario Silva via Digitalmars-d

On Wednesday, 9 November 2016 at 18:10:52 UTC, Daniel Kozak wrote:
On Wednesday, 9 November 2016 at 17:11:28 UTC, Mario Silva 
wrote:

On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
wrote:
i guess that OP meant 64-bit build of dmd itself, so it can 
use more than 3 GB of RAM.


Yes, that's the case.


Have you tried ldc2 (ldmd2)?
https://github.com/ldc-developers/ldc/releases/download/v1.1.0-beta3/ldc2-1.1.0-beta3-win64-msvc.zip


I haven't tried it yet, but I would want to avoid changing the 
compiler at this point, since we already have all our tooling 
build around DMD.


That is why I'm asking specifically about the state of the 64-bit 
windows version of DMD.


Re: DMD 64-bit Windows

2016-11-09 Thread Daniel Kozak via Digitalmars-d

On Wednesday, 9 November 2016 at 17:11:28 UTC, Mario Silva wrote:

On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
wrote:
i guess that OP meant 64-bit build of dmd itself, so it can 
use more than 3 GB of RAM.


Yes, that's the case.


Have you tried ldc2 (ldmd2)?
https://github.com/ldc-developers/ldc/releases/download/v1.1.0-beta3/ldc2-1.1.0-beta3-win64-msvc.zip


Re: DMD 64-bit Windows

2016-11-09 Thread Mario Silva via Digitalmars-d

On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
wrote:
i guess that OP meant 64-bit build of dmd itself, so it can use 
more than 3 GB of RAM.


Yes, that's the case.


Re: DMD 64-bit Windows

2016-11-09 Thread Daniel Kozak via Digitalmars-d

Dne 9.11.2016 v 18:04 ketmar via Digitalmars-d napsal(a):


On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak wrote:
i guess that OP meant 64-bit build of dmd itself, so it can use more 
than 3 GB of RAM.

Yep, that make sense :)



Re: DMD 64-bit Windows

2016-11-09 Thread ketmar via Digitalmars-d

On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak wrote:
i guess that OP meant 64-bit build of dmd itself, so it can use 
more than 3 GB of RAM.


Re: DMD 64-bit Windows

2016-11-09 Thread Daniel Kozak via Digitalmars-d

Dne 9.11.2016 v 17:34 Mario Silva via Digitalmars-d napsal(a):


Hey everyone,

While compiling our 64-bit app under Windows, DMD is getting out of 
memory.
What do you mean by 64bit app? How much memory do you have? How big is 
your codebase?
I wasn't able to find a windows version of DMD64, is there even one? 
If not, are there any plans? This is quite a show stopper for us.


Thanks in advance,
Mario


yes support for 64bit is there for a few years.
just download latest dmd https://dlang.org/download.html#dmd
and use -m64 flag when compiling





DMD 64-bit Windows

2016-11-09 Thread Mario Silva via Digitalmars-d

Hey everyone,

While compiling our 64-bit app under Windows, DMD is getting out 
of memory.
I wasn't able to find a windows version of DMD64, is there even 
one? If not, are there any plans? This is quite a show stopper 
for us.


Thanks in advance,
Mario


Re: Can someone give me simple instructions on how to build 64-bit DMD using Visual Studio?

2016-01-30 Thread Manu via Digitalmars-d
Clone DMD, make sure you have the *latest* VisualD installed
(https://github.com/D-Programming-Language/visuald/releases), open
src\vcbuild\dmd.sln, build.
I use VS2015. YMMV ;)

On 31 January 2016 at 08:59, Akira1364 via Digitalmars-d
 wrote:
> I've read through the available documentation, but it's all incredibly brief
> and vague. What file specifically do I need to edit to point to my Visual
> Studio instance? Should I use Win32.mak, or the "VCBUILD" solution?
> E.t.c.


Can someone give me simple instructions on how to build 64-bit DMD using Visual Studio?

2016-01-30 Thread Akira1364 via Digitalmars-d
I've read through the available documentation, but it's all 
incredibly brief and vague. What file specifically do I need to 
edit to point to my Visual Studio instance? Should I use 
Win32.mak, or the "VCBUILD" solution? E.t.c.


Re: 64-bit DMD .exe for windows?

2015-06-13 Thread Etienne Cimon via Digitalmars-d

On Sunday, 14 June 2015 at 04:09:56 UTC, E.S. Quinn wrote:
I've got a project that, due to extensive use of LuaD 
conversions, templates with a lot of parameters, and CTFE, has 
managed to require >4gb of ram to compile. Which means that, 
for the moment, I can't build on windows as the dmd compiler is 
a 32-bit executable and throws an out of memory error.


Is there any chance that we could publish a win64 build of 
dmd.exe?



Yes, I had the same problem. Instructions are here:

https://github.com/etcimon/botan/blob/master/dmd64_build_instructions.txt


64-bit DMD .exe for windows?

2015-06-13 Thread E.S. Quinn via Digitalmars-d
I've got a project that, due to extensive use of LuaD 
conversions, templates with a lot of parameters, and CTFE, has 
managed to require >4gb of ram to compile. Which means that, for 
the moment, I can't build on windows as the dmd compiler is a 
32-bit executable and throws an out of memory error.


Is there any chance that we could publish a win64 build of 
dmd.exe?


Re: phobos and 64-bit real, anybody testing?

2015-01-26 Thread Dan Olson via Digitalmars-d

On Monday, 26 January 2015 at 20:04:46 UTC, Johannes Pfau wrote:
I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. 
All
modules except gammafunction should pass. gammafunction was 
never

ported to 64bit reals and I asked about it multiple times on the
newsgroup but nobody cared. I also filed a bug report:
https://issues.dlang.org/show_bug.cgi?id=13032
So as far as I'm concerned gammafunction is unmaintained and 
broken :-(


However, other modules should work (at least with GDC as 
there's some

GDC-specific inline asm).


Thanks! This info helps much.


Re: phobos and 64-bit real, anybody testing?

2015-01-26 Thread Dan Olson via Digitalmars-d

On Monday, 26 January 2015 at 17:36:05 UTC, Andrei Alexandrescu
wrote:

On 1/26/15 8:49 AM, Dan Olson wrote:
A question for the floating point experts.  Do phobos 
unittests get run

on any architectures with 64-bit reals?


Would OSX be that? -- Andrei


It is mostly x86 80-bit reals these days.


Re: phobos and 64-bit real, anybody testing?

2015-01-26 Thread Johannes Pfau via Digitalmars-d
Am Mon, 26 Jan 2015 08:49:56 -0800
schrieb Dan Olson :

> A question for the floating point experts.  Do phobos unittests get
> run on any architectures with 64-bit reals?  I would like to know if
> there are known failures.
> 
> I have identified all the phobos unittest failures on ARMv7 iOS and
> commented out failing asserts so that the remainder of the module
> unittests could pass.  An example where there are many failed tests is
> std.internal.math.gammafunction where a nan is produced but a valid
> value is expected.  Other times the computed result is completely
> different from what is expected.  Note that for ARM I am clearing
> "Flush to Zero" and "Default NaN" modes in fpscr which helps pass
> many other tests.  Normally these modes are enabled for iOS.  Also,
> iOS uses float-abi=softfp.
> --
> Dan

I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. All
modules except gammafunction should pass. gammafunction was never
ported to 64bit reals and I asked about it multiple times on the
newsgroup but nobody cared. I also filed a bug report:
https://issues.dlang.org/show_bug.cgi?id=13032
So as far as I'm concerned gammafunction is unmaintained and broken :-(

However, other modules should work (at least with GDC as there's some
GDC-specific inline asm).


Re: phobos and 64-bit real, anybody testing?

2015-01-26 Thread Andrei Alexandrescu via Digitalmars-d

On 1/26/15 8:49 AM, Dan Olson wrote:

A question for the floating point experts.  Do phobos unittests get run
on any architectures with 64-bit reals?


Would OSX be that? -- Andrei



Re: phobos and 64-bit real, anybody testing?

2015-01-26 Thread via Digitalmars-d

On Monday, 26 January 2015 at 16:49:57 UTC, Dan Olson wrote:
different from what is expected.  Note that for ARM I am 
clearing "Flush
to Zero" and "Default NaN" modes in fpscr which helps pass many 
other

tests.


I think NEON (SIMD) code will always flush to zero, so IEEE 
compatibility for denormal numbers prevent using SIMD...?


phobos and 64-bit real, anybody testing?

2015-01-26 Thread Dan Olson via Digitalmars-d
A question for the floating point experts.  Do phobos unittests get run
on any architectures with 64-bit reals?  I would like to know if there
are known failures.

I have identified all the phobos unittest failures on ARMv7 iOS and
commented out failing asserts so that the remainder of the module
unittests could pass.  An example where there are many failed tests is
std.internal.math.gammafunction where a nan is produced but a valid
value is expected.  Other times the computed result is completely
different from what is expected.  Note that for ARM I am clearing "Flush
to Zero" and "Default NaN" modes in fpscr which helps pass many other
tests.  Normally these modes are enabled for iOS.  Also, iOS uses
float-abi=softfp.
--
Dan


Re: What is the status of 64-bit development on Windows?

2014-10-24 Thread via Digitalmars-d

On Friday, 24 October 2014 at 18:14:18 UTC, ixid wrote:

On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote:

On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote:
I am confused. Microsoft C/C++ tool chain is required in 
order to use dmd? How?


For 32-bit compilation, no, no additional download is 
necessary.  For 64-bit, you need the Microsoft COFF linker and 
C runtime.  The installer will try to automatically configure 
dmd to use those if you have them already.  Have you tried it?


Using Win64 from the zip file will require some manual 
configuration, similar to these somewhat outdated instructions 
on the wiki:


http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible)

There is also experimental support for 32-bit COFF in the 
latest git HEAD. :)


That currently says it has no text. This is frustrating trying 
to get 64 bit DMD to work, it really needs to be easier.


You need to append a ")", the forum software doesn't see it as 
part of the link.


Re: What is the status of 64-bit development on Windows?

2014-10-24 Thread ixid via Digitalmars-d

On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote:

On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote:
I am confused. Microsoft C/C++ tool chain is required in order 
to use dmd? How?


For 32-bit compilation, no, no additional download is 
necessary.  For 64-bit, you need the Microsoft COFF linker and 
C runtime.  The installer will try to automatically configure 
dmd to use those if you have them already.  Have you tried it?


Using Win64 from the zip file will require some manual 
configuration, similar to these somewhat outdated instructions 
on the wiki:


http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible)

There is also experimental support for 32-bit COFF in the 
latest git HEAD. :)


That currently says it has no text. This is frustrating trying to 
get 64 bit DMD to work, it really needs to be easier.


Re: What is the status of 64-bit development on Windows?

2014-10-20 Thread katuday via Digitalmars-d

On Tuesday, 21 October 2014 at 00:04:50 UTC, Brad Anderson wrote:

On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote:
For 32-bit compilation, no, no additional download is 
necessary.  For 64-bit, you need the Microsoft COFF linker and 
C runtime.  The installer will try to automatically configure 
dmd to use those if you have them already.  Have you tried it?


Just to add to this, use `dmd source.d -m64` to try it out and 
see if you're already configured and ready to go.


I got it! Perfect.


Re: What is the status of 64-bit development on Windows?

2014-10-20 Thread Brad Anderson via Digitalmars-d

On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote:
For 32-bit compilation, no, no additional download is 
necessary.  For 64-bit, you need the Microsoft COFF linker and 
C runtime.  The installer will try to automatically configure 
dmd to use those if you have them already.  Have you tried it?


Just to add to this, use `dmd source.d -m64` to try it out and 
see if you're already configured and ready to go.


Re: What is the status of 64-bit development on Windows?

2014-10-20 Thread Joakim via Digitalmars-d

On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote:
I am confused. Microsoft C/C++ tool chain is required in order 
to use dmd? How?


For 32-bit compilation, no, no additional download is necessary.  
For 64-bit, you need the Microsoft COFF linker and C runtime.  
The installer will try to automatically configure dmd to use 
those if you have them already.  Have you tried it?


Using Win64 from the zip file will require some manual 
configuration, similar to these somewhat outdated instructions on 
the wiki:


http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible)

There is also experimental support for 32-bit COFF in the latest 
git HEAD. :)


Re: What is the status of 64-bit development on Windows?

2014-10-20 Thread katuday via Digitalmars-d

On Monday, 20 October 2014 at 19:04:15 UTC, Joakim wrote:

On Monday, 20 October 2014 at 18:36:20 UTC, katuday wrote:
I am new to D. Where do I get a D compiler to build 64-bit 
binaries on Windows 7?
Searching the forum shows 64-bit support on Windows as 
work-in-progress in 2013. Is this still the case?

Thanks.


Win64 is pretty well-supported for some time now, though you 
have to install the MSVC toolchain to use it.  The download 
page was updated a couple months ago in a confusing way, all 
dmd compilers support 64-bit compilation:


https://github.com/D-Programming-Language/dlang.org/pull/593/files

What the download page means to say is that there's no 64-bit 
dmd binary for Windows, but the 32-bit dmd binary will compile 
D source into 64-bit Windows code also.  I'd submit a pull to 
make this clear, but I'm not sure where it should go on the 
page.  It should be fixed.


I am confused. Microsoft C/C++ tool chain is required in order to 
use dmd? How?
I do have several MS Visual C++ compilers including the latest 
(2013) but am not sure how I am supposed to used them alongside 
dmd.


Re: What is the status of 64-bit development on Windows?

2014-10-20 Thread Joakim via Digitalmars-d

On Monday, 20 October 2014 at 18:36:20 UTC, katuday wrote:
I am new to D. Where do I get a D compiler to build 64-bit 
binaries on Windows 7?
Searching the forum shows 64-bit support on Windows as 
work-in-progress in 2013. Is this still the case?

Thanks.


Win64 is pretty well-supported for some time now, though you have 
to install the MSVC toolchain to use it.  The download page was 
updated a couple months ago in a confusing way, all dmd compilers 
support 64-bit compilation:


https://github.com/D-Programming-Language/dlang.org/pull/593/files

What the download page means to say is that there's no 64-bit dmd 
binary for Windows, but the 32-bit dmd binary will compile D 
source into 64-bit Windows code also.  I'd submit a pull to make 
this clear, but I'm not sure where it should go on the page.  It 
should be fixed.


What is the status of 64-bit development on Windows?

2014-10-20 Thread katuday via Digitalmars-d
I am new to D. Where do I get a D compiler to build 64-bit 
binaries on Windows 7?
Searching the forum shows 64-bit support on Windows as 
work-in-progress in 2013. Is this still the case?

Thanks.


Re: 64-bit DMD for windows?

2014-08-02 Thread Rainer Schuetze via Digitalmars-d



On 30.07.2014 21:46, Trass3r wrote:

Is there a PR now?


There is now: https://github.com/D-Programming-Language/dmd/pull/3843


Re: 64-bit DMD for windows?

2014-07-30 Thread Trass3r via Digitalmars-d

Is there a PR now?


Re: 64-bit DWT & Windows static libs

2014-07-22 Thread Jacob Carlborg via Digitalmars-d

On 23/07/14 03:01, Mike wrote:


DMD redistributes some of them, but does Digital Mars have a unique
agreement with Microsoft?


I think they have an agreement to redistribute these libraries. Walter 
knows the answer to this.


--
/Jacob Carlborg


Re: 64-bit DWT & Windows static libs

2014-07-22 Thread Mike via Digitalmars-d
On Wednesday, 23 July 2014 at 02:49:31 UTC, Rikki Cattermole 
wrote:


You shouldn't need to find them. They are provided with the 
MSVC tool chain. So as long as DMD is set up for 64bit, it 
should just link.


Thanks Rikki, I'm aware of that, but my question is about the 
current DWT distribution.


Right now, these files are distributed with DWT 
(https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib). 
The DWT build script links to these files, not the ones 
distributed with DMD.


According to my interpretation of 
http://go.microsoft.com/fwlink/?LinkId=294840...



Subject to the license terms for the software, the .lib files 
under the following directories may be distributed unmodified 
when built as part of your program:


Program Files\Windows Kits\8.1\Lib\winv6.3\um\x86
Program Files\Windows Kits\8.1\Lib\winv6.3\um\x64
Program Files\Windows Kits\8.1\Lib\winv6.3\um\arm


... the lib files must be compiled into the user's binary.

I need to reconcile if DWT is adhering to the redistribution 
license.  Knowing how Digital Mars justifies redistribution of 
these file with DMD will help me reach a conclusion.


Mike


Re: 64-bit DWT & Windows static libs

2014-07-22 Thread Rikki Cattermole via Digitalmars-d

On 23/07/2014 1:01 p.m., Mike wrote:

On Tuesday, 22 July 2014 at 22:53:52 UTC, Mike wrote:

I'm investigating what it will take to port DWT to 64-bit.  For
Windows, it looks like I will need 64-bit versions of the static libs
here:
https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib
(ole32.lib, msimg32.lib, etc...)

I have several different versions of these files on my computer, but
does anyone know what the true source of these files is.  Is there a
re-distributable or runtime from Microsoft that has these files?

Thanks for the help?

Mike


Well, it looks like these files are in the Windows SDK.  That leaves me
wondering about another question, though:  Are these static libs legally
redistributable?  They are listed in the SDK's redist.txt, but only if
compiled with in a user binary.

DMD redistributes some of them, but does Digital Mars have a unique
agreement with Microsoft?

Again, thanks for any help answering these questions.

Mike


You shouldn't need to find them. They are provided with the MSVC tool 
chain. So as long as DMD is set up for 64bit, it should just link.


Re: 64-bit DWT & Windows static libs

2014-07-22 Thread Mike via Digitalmars-d

On Tuesday, 22 July 2014 at 22:53:52 UTC, Mike wrote:
I'm investigating what it will take to port DWT to 64-bit.  For 
Windows, it looks like I will need 64-bit versions of the 
static libs here: 
https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib 
(ole32.lib, msimg32.lib, etc...)


I have several different versions of these files on my 
computer, but does anyone know what the true source of these 
files is.  Is there a re-distributable or runtime from 
Microsoft that has these files?


Thanks for the help?

Mike


Well, it looks like these files are in the Windows SDK.  That 
leaves me wondering about another question, though:  Are these 
static libs legally redistributable?  They are listed in the 
SDK's redist.txt, but only if compiled with in a user binary.


DMD redistributes some of them, but does Digital Mars have a 
unique agreement with Microsoft?


Again, thanks for any help answering these questions.

Mike


64-bit DWT & Windows static libs

2014-07-22 Thread Mike via Digitalmars-d
I'm investigating what it will take to port DWT to 64-bit.  For 
Windows, it looks like I will need 64-bit versions of the static 
libs here: 
https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib 
(ole32.lib, msimg32.lib, etc...)


I have several different versions of these files on my computer, 
but does anyone know what the true source of these files is.  Is 
there a re-distributable or runtime from Microsoft that has these 
files?


Thanks for the help?

Mike


Re: 64-bit DMD for windows?

2014-05-22 Thread Rainer Schuetze via Digitalmars-d



On 22.05.2014 09:45, Kagamin wrote:

On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote:

On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:

I recently considered making a pull request, but noticed an include
dependency that failed to work for another PR, and got distracted.
The updated compiler patches are here:
https://github.com/rainers/dmd/tree/coff32

I think this is a really important pull for win32 support, still the
most widely used platform on which D is available. Not everybody has
the source for outside libraries or the time and inclination to
recompile it to OMF using the Digital Mars toolchain.  I think it
would really help D to get this pull in soon.


How would it work? Will it link D code with snn, msvcrt or both?


It is supposed to link against MSVCRT. The druntime/phobos patches are 
here, though I'm expecting some discussions about used version identifiers:


https://github.com/rainers/druntime/tree/coff32
https://github.com/rainers/phobos/tree/coff32




Re: 64-bit DMD for windows?

2014-05-22 Thread Rainer Schuetze via Digitalmars-d



On 22.05.2014 09:04, Manu via Digitalmars-d wrote:

On 22 May 2014 16:28, Joakim via Digitalmars-d
 wrote:

On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:


I recently considered making a pull request, but noticed an include
dependency that failed to work for another PR, and got distracted. The
updated compiler patches are here:
https://github.com/rainers/dmd/tree/coff32


I think this is a really important pull for win32 support, still the most
widely used platform on which D is available.  Not everybody has the source
for outside libraries or the time and inclination to recompile it to OMF
using the Digital Mars toolchain.  I think it would really help D to get
this pull in soon.


Yeah, it's a gigantic hole, and your work looks like it's almost there.

Do you have any idea about the x64 SSE support and supporting that on
x86 as well? Difficult? Practical?



I don't know, will have to look into that. I always wondered why it 
isn't supported by x86 to start with.


Re: 64-bit DMD for windows?

2014-05-22 Thread Manu via Digitalmars-d
On 23 May 2014 01:45, Anonymous via Digitalmars-d
 wrote:
> With VS2013 installed, I had an issue with the DMD installer's
> config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64,
> and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin
> to sc.ini's PATH fixed the problem and produced a working hello
> world with -m64.

The installer needs to be updated to be aware of VS2013's pathing.
Bug it?


Re: 64-bit DMD for windows?

2014-05-22 Thread Anonymous via Digitalmars-d

With VS2013 installed, I had an issue with the DMD installer's
config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64,
and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin
to sc.ini's PATH fixed the problem and produced a working hello
world with -m64.


Re: 64-bit DMD for windows?

2014-05-22 Thread Bruno Medeiros via Digitalmars-d

On 21/05/2014 05:34, Manu via Digitalmars-d wrote:

On 21 May 2014 13:45, Temtaime via Digitalmars-d
 wrote:

Yes, DMD uses ld on linux. It's OK because there is no other
linker. And it's system's default. Everybody(almost) have GCC.

But on windows.. MSVS is external IDE and toolset. Some people
yes they uses MinGW.
Why ? MSVS has some disadvantages for me for example it's poor
C++11 support. So it's useless in my work.

So for compile 64 app with DMD one must download dmd(~20 MB) and
install MSVS(~2 GB).
I think dmd should work out of the box isn't it ?


It's still the standard on the platform. Interoperation with other
libraries/code typically demands MSVC compatibility.
I don't know how any large-scale Windows developers can avoid this
practical reality?

On the plus side, there is a recent push to get Clang/LLVM properly
compatible with MSVC. When that happens, we should be able to rely on
Clang+LDC for all windows needs.



And what about other compilers ?
Latest LDC for example uses 064 frontend.

It's outdated for me because of bugs. I cannot ever compile my
app now with it.
With GDC it's alto difficult to get luck.


Poke the GDC/LDC guys? It would certainly be nice if those toolchains
were more reliably up-to-date, but the sad truth is, those who use
MinGW on windows are in the severe minority, so there's probably not
so much motivation.



LDC on MingW doesn't seem to support debugging at all, and that's 
because of a LLVM issue, not LDC, so it doesn't matter how much LDC is 
up to date or not. According to Kai, "LLVM on MinGW is not very well 
tested."


I had better hopes for GDC, and did poke the GDC guys (even put a bounty 
up - not that I think that amount of money would make any significant 
difference - it was more to show I really cared about this issue). But 
it seems GDC on Windows is not properly supported either 
(news://news.digitalmars.com:119/lkdnrr$j43$1...@digitalmars.com). It's not 
just an issue of build scripts and compiling binary releases, as I 
initially thought.


Like you said, those like me, who use MinGW on Windows seem to be a 
severe minority.


Having Clang/LLVM support MSVC toolchain would be great. And it would be 
*magnificent* if that included LLDB support! The reason I prefer MinGW 
on Windows is so that I can use a half-decent, open-source debugger.


--
Bruno Medeiros
https://twitter.com/brunodomedeiros


Re: 64-bit DMD for windows?

2014-05-22 Thread Manu via Digitalmars-d
On 22 May 2014 20:37, Kagamin via Digitalmars-d
 wrote:
> Ah, ok, but druntime and phobos are compiled to link with snn, which has
> functions absent in msvcrt like snvprintf and long double math functions.

That doesn't seem to bother Win64...


Re: 64-bit DMD for windows?

2014-05-22 Thread Kagamin via Digitalmars-d
Ah, ok, but druntime and phobos are compiled to link with snn, 
which has functions absent in msvcrt like snvprintf and long 
double math functions.


Re: 64-bit DMD for windows?

2014-05-22 Thread Joakim via Digitalmars-d

On Thursday, 22 May 2014 at 07:45:17 UTC, Kagamin wrote:

On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote:
I think this is a really important pull for win32 support, 
still the most widely used platform on which D is available.  
Not everybody has the source for outside libraries or the time 
and inclination to recompile it to OMF using the Digital Mars 
toolchain.  I think it would really help D to get this pull in 
soon.


How would it work? Will it link D code with snn, msvcrt or both?


Why would you need snn at that point?  It's an OMF library.  
You'd do the same as Win64, use msvcrt.


Re: 64-bit DMD for windows?

2014-05-22 Thread Kagamin via Digitalmars-d

On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote:

On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
I recently considered making a pull request, but noticed an 
include dependency that failed to work for another PR, and got 
distracted. The updated compiler patches are here: 
https://github.com/rainers/dmd/tree/coff32
I think this is a really important pull for win32 support, 
still the most widely used platform on which D is available.  
Not everybody has the source for outside libraries or the time 
and inclination to recompile it to OMF using the Digital Mars 
toolchain.  I think it would really help D to get this pull in 
soon.


How would it work? Will it link D code with snn, msvcrt or both?


Re: 64-bit DMD for windows?

2014-05-22 Thread Kagamin via Digitalmars-d

On Wednesday, 21 May 2014 at 03:45:42 UTC, Temtaime wrote:

Yes, DMD uses ld on linux. It's OK because there is no other
linker. And it's system's default. Everybody(almost) have GCC.


It's still an external tool, without which dmd can't work.


But on windows.. MSVS is external IDE and toolset.


Do you want the windows dmd installed to download and install 
msvc automatically for you?


Re: 64-bit DMD for windows?

2014-05-22 Thread Manu via Digitalmars-d
On 22 May 2014 16:28, Joakim via Digitalmars-d
 wrote:
> On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
>>
>> I recently considered making a pull request, but noticed an include
>> dependency that failed to work for another PR, and got distracted. The
>> updated compiler patches are here:
>> https://github.com/rainers/dmd/tree/coff32
>
> I think this is a really important pull for win32 support, still the most
> widely used platform on which D is available.  Not everybody has the source
> for outside libraries or the time and inclination to recompile it to OMF
> using the Digital Mars toolchain.  I think it would really help D to get
> this pull in soon.

Yeah, it's a gigantic hole, and your work looks like it's almost there.

Do you have any idea about the x64 SSE support and supporting that on
x86 as well? Difficult? Practical?


Re: 64-bit DMD for windows?

2014-05-21 Thread Joakim via Digitalmars-d

On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote:
I recently considered making a pull request, but noticed an 
include dependency that failed to work for another PR, and got 
distracted. The updated compiler patches are here: 
https://github.com/rainers/dmd/tree/coff32
I think this is a really important pull for win32 support, still 
the most widely used platform on which D is available.  Not 
everybody has the source for outside libraries or the time and 
inclination to recompile it to OMF using the Digital Mars 
toolchain.  I think it would really help D to get this pull in 
soon.


Re: 64-bit DMD for windows?

2014-05-21 Thread Rainer Schuetze via Digitalmars-d



On 21.05.2014 14:17, Brad Anderson wrote:

On Wednesday, 21 May 2014 at 03:15:34 UTC, Manu via Digitalmars-d
wrote:

On 21 May 2014 05:15, Temtaime via Digitalmars-d
 wrote:

Sorry i misunderstood you.
Yes dmd supports x64 on windows but it doesn't work without external
tools.
It's a main trouble i think.


MSVC is the de facto standard toolset for Windows. How do you
interoperate with any other conventional windows libraries if DMD is
not MSVC compatible?
This is the key development of DMD for Win64, and it's the only reason
D is practically useful on Windows at all. I pine for the day that
32bit will get the same treatment.


I believe Rainer did some work on extending COFF support to
32-bit. I'm not sure how far along he got.


I recently considered making a pull request, but noticed an include 
dependency that failed to work for another PR, and got distracted. The 
updated compiler patches are here: 
https://github.com/rainers/dmd/tree/coff32


Re: 64-bit DMD for windows?

2014-05-21 Thread Brad Anderson via Digitalmars-d

On Wednesday, 21 May 2014 at 03:15:34 UTC, Manu via Digitalmars-d
wrote:

On 21 May 2014 05:15, Temtaime via Digitalmars-d
 wrote:

Sorry i misunderstood you.
Yes dmd supports x64 on windows but it doesn't work without 
external tools.

It's a main trouble i think.


MSVC is the de facto standard toolset for Windows. How do you
interoperate with any other conventional windows libraries if 
DMD is

not MSVC compatible?
This is the key development of DMD for Win64, and it's the only 
reason
D is practically useful on Windows at all. I pine for the day 
that

32bit will get the same treatment.


I believe Rainer did some work on extending COFF support to
32-bit. I'm not sure how far along he got.


Re: 64-bit DMD for windows?

2014-05-21 Thread Paulo Pinto via Digitalmars-d

On Wednesday, 21 May 2014 at 03:45:42 UTC, Temtaime wrote:

Yes, DMD uses ld on linux. It's OK because there is no other
linker. And it's system's default. Everybody(almost) have GCC.

But on windows.. MSVS is external IDE and toolset. Some people
yes they uses MinGW.
Why ? MSVS has some disadvantages for me for example it's poor
C++11 support. So it's useless in my work.

So for compile 64 app with DMD one must download dmd(~20 MB) and
install MSVS(~2 GB).
I think dmd should work out of the box isn't it ?

And what about other compilers ?
Latest LDC for example uses 064 frontend.

It's outdated for me because of bugs. I cannot ever compile my
app now with it.
With GDC it's alto difficult to get luck.


MSVC is the OS vendor's official tooling. Like XCode/clang on Mac
OS X, xlc on Aix, aC++ on HP-UX, SunPro on Solaris and so forth.

--
Paulo


Re: 64-bit DMD for windows?

2014-05-20 Thread Manu via Digitalmars-d
On 21 May 2014 13:45, Temtaime via Digitalmars-d
 wrote:
> Yes, DMD uses ld on linux. It's OK because there is no other
> linker. And it's system's default. Everybody(almost) have GCC.
>
> But on windows.. MSVS is external IDE and toolset. Some people
> yes they uses MinGW.
> Why ? MSVS has some disadvantages for me for example it's poor
> C++11 support. So it's useless in my work.
>
> So for compile 64 app with DMD one must download dmd(~20 MB) and
> install MSVS(~2 GB).
> I think dmd should work out of the box isn't it ?

It's still the standard on the platform. Interoperation with other
libraries/code typically demands MSVC compatibility.
I don't know how any large-scale Windows developers can avoid this
practical reality?

On the plus side, there is a recent push to get Clang/LLVM properly
compatible with MSVC. When that happens, we should be able to rely on
Clang+LDC for all windows needs.


> And what about other compilers ?
> Latest LDC for example uses 064 frontend.
>
> It's outdated for me because of bugs. I cannot ever compile my
> app now with it.
> With GDC it's alto difficult to get luck.

Poke the GDC/LDC guys? It would certainly be nice if those toolchains
were more reliably up-to-date, but the sad truth is, those who use
MinGW on windows are in the severe minority, so there's probably not
so much motivation.


Re: 64-bit DMD for windows?

2014-05-20 Thread Temtaime via Digitalmars-d

Yes, DMD uses ld on linux. It's OK because there is no other
linker. And it's system's default. Everybody(almost) have GCC.

But on windows.. MSVS is external IDE and toolset. Some people
yes they uses MinGW.
Why ? MSVS has some disadvantages for me for example it's poor
C++11 support. So it's useless in my work.

So for compile 64 app with DMD one must download dmd(~20 MB) and
install MSVS(~2 GB).
I think dmd should work out of the box isn't it ?

And what about other compilers ?
Latest LDC for example uses 064 frontend.

It's outdated for me because of bugs. I cannot ever compile my
app now with it.
With GDC it's alto difficult to get luck.


Re: 64-bit DMD for windows?

2014-05-20 Thread Manu via Digitalmars-d
On 21 May 2014 05:15, Temtaime via Digitalmars-d
 wrote:
> Sorry i misunderstood you.
> Yes dmd supports x64 on windows but it doesn't work without external tools.
> It's a main trouble i think.

MSVC is the de facto standard toolset for Windows. How do you
interoperate with any other conventional windows libraries if DMD is
not MSVC compatible?
This is the key development of DMD for Win64, and it's the only reason
D is practically useful on Windows at all. I pine for the day that
32bit will get the same treatment.
The Microsoft linker is freely available, it produces debug output
that's compatible with the majority of windows tooling, and it's
generally good.

If you argue that your environment is exclusive of MSVC (how so? do
you use MinGW or something?), then surely the obvious thing to do is
to NOT use DMD. Use GDC or LDC, which are better compilers, and link
happily against MinGW code/libs.
The only deficit I see in the Windows world is not having a useful
Win32 compiler.


Re: 64-bit DMD for windows?

2014-05-20 Thread David Nadlinger via Digitalmars-d

On Tuesday, 20 May 2014 at 19:15:59 UTC, Temtaime wrote:
Yes dmd supports x64 on windows but it doesn't work without 
external tools.


DMD on Linux doesn't work without external tools (system GCC/ld) 
either.


Microsoft provides the required tools for free and they are not 
difficult to install, so that shouldn't really be an argument. 
Maybe we need to improve on the related documentation, though.


Best,
David


Re: 64-bit DMD for windows?

2014-05-20 Thread Temtaime via Digitalmars-d

Sorry i misunderstood you.
Yes dmd supports x64 on windows but it doesn't work without 
external tools.

It's a main trouble i think.


Re: 64-bit DMD for windows?

2014-05-20 Thread rumbu via Digitalmars-d
On Tuesday, 20 May 2014 at 16:29:27 UTC, Andrej Mitrovic via 
Digitalmars-d wrote:
On 5/20/14, Temtaime via Digitalmars-d 
 wrote:

Windows is out of favor for DMD's developers.


Please stop spreading misinformation.


- std.c.windows seriously outdated; third party libraries also 
outdated.
- WinRT support non-existent, D language lacks the necessary 
constructs (automatic reference counting, asynchronous calls). 
ARM compiler not available.

- 64 bit linker unavailable without Visual Studio;
- Run-time library loading on Windows is bugs prone.
- There is no consensus about how a GUI application must be 
built. Windows is by definition a GUI OS. You cannot say that you 
support Windows by limiting developers to build console 
applications only. Using third party libraries makes you think in 
anti-D patterns and results in big size executable files. D must 
first define some guidelines about a GUI application design and 
implement it for each OS. The Delphi or Lazarus approach can be 
used as a starting point.


Re: 64-bit DMD for windows?

2014-05-20 Thread David Nadlinger via Digitalmars-d

On Tuesday, 20 May 2014 at 18:47:46 UTC, Temtaime wrote:

Please don't ask useful-less questions.
One can tell all the advantages of 64 bits or you can use the 
Wikipedia.


You might want to read my response again. I specifically asked 
"How does the current 64 bit version of DMD fall short of your 
needs?".


To put it in simpler terms: DMD is available for x64 Windows 
right now. What else do you want?


David


Re: 64-bit DMD for windows?

2014-05-20 Thread Temtaime via Digitalmars-d

Please don't ask useful-less questions.
One can tell all the advantages of 64 bits or you can use the 
Wikipedia.


Re: 64-bit DMD for windows?

2014-05-20 Thread Temtaime via Digitalmars-d

Why mis ?
For example.

Linux :
DMD can use GCC libs.
DMD can compile and link 64 bit app.

Windows :
DMD cannot use both MSVC and MinGW libs.
DMD cannot link 64 apps without installed MSVS.

And it's stays there for a long time.


Re: 64-bit DMD for windows?

2014-05-20 Thread Andrej Mitrovic via Digitalmars-d
On 5/20/14, Temtaime via Digitalmars-d  wrote:
> Windows is out of favor for DMD's developers.

Please stop spreading misinformation.


Re: 64-bit DMD for windows?

2014-05-20 Thread David Nadlinger via Digitalmars-d

On Monday, 19 May 2014 at 17:59:43 UTC, steven kladitis wrote:
I see that this thread is over 3 years old.  I am totally 
enjoying D. I love assembler programming.  I am just 
dissapointed that there is simple way to compile 64 bit code as 
of 2014 in windows.  I am still unable to compile 64 bit in 
windows 7 or 8.


How does the current 64 bit version of DMD fall short of your 
needs?


David


Re: 64-bit DMD for windows?

2014-05-20 Thread Temtaime via Digitalmars-d

Windows is out of favor for DMD's developers.


Re: 64-bit DMD for windows?

2014-05-19 Thread steven kladitis via Digitalmars-d

On Wednesday, 14 May 2014 at 20:10:29 UTC, Nick Sabalausky wrote:

On 5/14/2014 2:28 PM, steven kladitis wrote:
On Tuesday, 13 May 2014 at 13:53:36 UTC, Manu via 
Digitalmars-d wrote:

On 13 May 2014 23:24, steven kladitis via Digitalmars-d
 wrote:


if the -m64 lets the compiled code use 64 bit registers and 
ints are

now 64
bit then great! What is VC++, is it free?


Pointers are 64bits.
int is 32 bits, long is 64 bits.
size_t is 64 bits.

VC++ is Microsoft's compiler, DMD-x64 uses the de-facto 
standard

Microsoft linker, since OPTLINK doesn't support 64bit.
It is available for free.


I have installed it and am still unable to compile a 64 bit D 
program.


C:\d\dmd2\samples\d>dmd wc.d

C:\d\dmd2\samples\d>dmd -m64 wc.d
--- errorlevel -1073741515


If you use the Windows Installer for DMD after you've installed 
VC++, then it should automatically set everything up for you (I 
haven't tried it personally, but I know the DMD Win Installer 
people went to a lot of effort to make it work, so it should 
work).


Oh, I forgot to mention, you'll also need to install the 
Microsoft's Windows SDK (not sure if that's automatically done 
when installing VC++ or not.) So after VC++ and the WinSDK are 
installed, then run DMD's Windows installer, and you should be 
good.


Or you can manually setup DMD's sc.ini with the right paths to 
VC++ and the WinSDK (that's what I did), but it's probably 
easier to just run the DMD Windows Installer again after all 
the MS stuff is installed.


I see that this thread is over 3 years old.  I am totally 
enjoying D. I love assembler programming.  I am just dissapointed 
that there is simple way to compile 64 bit code as of 2014 in 
windows.  I am still unable to compile 64 bit in windows 7 or 8.


Re: 64-bit DMD for windows?

2014-05-14 Thread Nick Sabalausky via Digitalmars-d

On 5/14/2014 2:28 PM, steven kladitis wrote:

On Tuesday, 13 May 2014 at 13:53:36 UTC, Manu via Digitalmars-d wrote:

On 13 May 2014 23:24, steven kladitis via Digitalmars-d
 wrote:


if the -m64 lets the compiled code use 64 bit registers and ints are
now 64
bit then great! What is VC++, is it free?


Pointers are 64bits.
int is 32 bits, long is 64 bits.
size_t is 64 bits.

VC++ is Microsoft's compiler, DMD-x64 uses the de-facto standard
Microsoft linker, since OPTLINK doesn't support 64bit.
It is available for free.


I have installed it and am still unable to compile a 64 bit D program.

C:\d\dmd2\samples\d>dmd wc.d

C:\d\dmd2\samples\d>dmd -m64 wc.d
--- errorlevel -1073741515


If you use the Windows Installer for DMD after you've installed VC++, 
then it should automatically set everything up for you (I haven't tried 
it personally, but I know the DMD Win Installer people went to a lot of 
effort to make it work, so it should work).


Oh, I forgot to mention, you'll also need to install the Microsoft's 
Windows SDK (not sure if that's automatically done when installing VC++ 
or not.) So after VC++ and the WinSDK are installed, then run DMD's 
Windows installer, and you should be good.


Or you can manually setup DMD's sc.ini with the right paths to VC++ and 
the WinSDK (that's what I did), but it's probably easier to just run the 
DMD Windows Installer again after all the MS stuff is installed.




  1   2   3   4   5   6   >