Lars T. Kyllingstad wrote: > Walter Bright wrote: >> >> This is a major revision to Phobos, including Andrei's revolutionary >> new range support. >> >> http://www.digitalmars.com/d/2.0/changelog.html >> http://ftp.digitalmars.com/dmd.2.029.zip > > This is looking very nice! I want to switch from D1 to D2, but... > > I don't want to sound greedy or anything, and I know others have asked > for this before, but is making a 64-bit Linux version of DMD a lot of work? > > I admit I don't know much about these things, and what I'm going to say > next may not make sense at all, but here goes: > > x86-64 is just a superset of x86, right? Wouldn't it be possible, as a > first step in the direction of a full-fledged x86-64 compiler, to simply > make one that uses the same instruction set as the current DMD, but, I > dunno, marks the executable as 64-bit (or something like that)? > Specialisation and optimisation for the 64-bit architecture could then > come at a later point in time.
I'm pretty sure that 64-bit code is binary incompatible with 32-bit code. For example: struct Foo { void* ptr; } Is a different size for 32-bit and 64-bit code. > I know it is possible to run the 32-bit compiler (and the executables it > produces) on a 64-bit operating system, but it isn't possible to link > against 64-bit libraries. This means that one has to install and > maintain 32-bit versions of all the libraries one wants to use, and > those are, in general, not available through the repositories of most > 64-bit distros. This is because the OS puts the CPU into a 32-bit compatible mode, but it can't magic away the differences between 32-bit and 64-bit code. > -Lars The best bet for 64-bit D executables at this point is probably LDC; dunno what the current state is, though. -- Daniel