Steven Schveighoffer wrote:
On Sat, 19 Feb 2011 19:21:05 -0500, Nick Sabalausky <[email protected]> wrote:

"Jonathan M Davis" <[email protected]> wrote in message
news:[email protected]...
On Saturday 19 February 2011 01:12:25 Russel Winder wrote:
> Am I correct in assuming that DMD generates 32-bit by default and that
> for 64-bit you have to give the -m64 option?
>
> Is the eventual plan to use the natural word length of the platform as
> the default, i.e. 32-bit on 32-bit and 64-bit on 64-bit, with the option
> to force something different using the -m option à la GCC?

32 bit is the default for now. I don't know what Walter intends to do in
the
long run. If it were like gcc, then the default platform would be the
platform
which the compiler is built for (which is exactly what it's doing right
now),
but as far as I know, Walter has no plans to port dmd to x86_64.

So, for now 32 bit is the default. It may or may not change later to be
the
platform that you're building on. Ideally though, it would be like gcc and
we'd
actually get a 64 bit version of dmd at some point.

I don't mean this as "anti-64bit" trolling, just a genuine question, but
what would be the point of a 64-bit build of DMD? (Note: I'm talking about
host, not target). Just to compile projects that have (on the order of)
gigabytes of source?

This just sparked a thought of curiosity -- CTFE runs in the compiler, and if the compiler is 32-bit, does this mean that 64-bit builds execute CTFE functions in 32-bits during compilation?

No. The functions haven't been compiled at that point. CTFE happens in the front end, whereas the differences between 64 and 32 bits only happens in the back end. CTFE works on the syntax tree level.

If so, are there any reprecussions? Thinking about it, everything is really dictated by the type system (which should be properly 64-bit), and for CTFE, the code used to execute isn't important, it's really just the result, right?

Yes, the type system takes care of everything.

Reply via email to