Jeremie Pelletier:

>VC++ has no real support for long double; it supports the syntax as distinct 
>types but they are implemented as double precision, not extended precision.<

This is true in GDC (with GCC backend) too, that's why real in D are as large 
as possible and not fixed-sized as the other types.


>I also couldn't get the compiler to compile *.c as C++, even with the /TP 
>switch (Compile as C++), I had to rename every file to *.cpp.<

This looks like a change good to be folded back into DMD sources.


>Jumping back in C++ reminded me why I loved D so much, I will definitely start 
>working on, or help developing it if already planned, a D port of dmd once the 
>spec gets stable.<

This is a good idea. There are the DIL (and Dlang?) projects, but the idea of 
just porting DMD sources to D sounds nice. Do you want to use D1 or D2 to write 
such code?
A good starting point for this idea of yours is to (eventually, probably not in 
the beginning) use the D bindings for LLVM, use the LDC front-end and slowly 
translate it to D1, using LDC itself to compile the modules written in D:
http://svn.dsource.org/projects/llvmdc/binding/
If you do that to do that I think other people will help you. This LDC version 
has to work correctly first, even if its code looks a little like C++ still 
here and there, and to be slowly refractored when possible later.
Having a real and large enough program written in D (this dLDC compiler) is 
also a way to test the D1 language and see where it can be improved.

----------------------------

Don:

>What are the advantages of VC++? Just the browsing?<

The resulting compiler is probably quite faster, so it compiles faster.

And generally it's good to be able to compile some C/C++ code with different 
compilers, because they spot different troubles in the code (with warnings 
too), and they are strict (regarding the language specs) in different ways, so 
they help make the code more standard and long lasting.

Bye,
bearophile

Reply via email to