Fawzi Mohamed <fa...@gmx.ch> writes: > I was also surprised about how many already heard something about D, I got > even some questions about D1/D2 tango/phobos. > My answers were something along these lines: > - D2 toolchain becoming now robust enough to be chosen for new projects (with > gdc finally also 64 bits)
Umm, not yet. GDB support is woefully lacking. The 3 custom debugging types output by dmd aren't supported at all. These are darray, aarray, and delegate. Without it, debugging D code is awful. I think darrays would be straightforward to support in GDB. Delegates can probably be supported as well, taking advantage of C++ member function pointer support. However, aarray doesn't have an ABI other than void*. There's no defined portable way to access the contents. Currently druntime has some C functions to access the AA, but those are implementation-specific. To be more ready for prime time, an actual ABI needs to be defined for AA's, especially if you wish to permit multiple compilers to write compatible object files. That's not a huge issue yet, since all the current D compilers use the same front end, but will become increasingly so as D becomes more popular. The AA ABI issue could be solved by defining all AA operations to map to a template class defined by druntime. That's what already happens, but defining it would plug this hole. Jerry