[ABI] 128bit integers and other vendor types

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Mon Jul 28 11:37:56 PDT 2014


On Tue, Jul 29, 2014 at 04:24:27AM +1000, Daniel Murphy via Digitalmars-d wrote:
> "Andrei Alexandrescu"  wrote in message
> news:lr6395$19r7$1 at digitalmars.com...
> 
> >There'd also be the argument that using phobos inside ddmd would make
> >the latter a better test for itself and phobos. -- Andrei
> 
> This is true, but my main concern is the quality of the compiler
> source.
> 
> My main concerns are: (not in order)
> - Compile time
> - Binary bloat

I see this as a good thing, actually. Not that I think it's good to
increase compile time and binary bloat, but that when this happens, we
will have very strong incentives to do something about it, that will
drive us to do whatever it takes for Phobos to *not* get in the way of
fast compile times and to *not* introduce tons of template bloat. The
end result will be a far better quality Phobos than we might ever
achieve otherwise, since external D codebases wouldn't be as strong an
incentive as the compiler itself would.


> - Reduced scrutiny of code that is used in the compiler - I review
>   every single compiler patch, but I do not have time to do that for
>   phobos too

Perhaps the solution is to get more people involved in this review?
Y'know, increase the bus factor and everything.


> - The compiler must build with the last release, and with HEAD.  HEAD
>   phobos only needs to build with HEAD.
[...]

Would it be too unrealistic to set things up so that ddmd bootstraps
itself with a *previous* release of Phobos, and then compile itself
again with the latest Phobos git HEAD? (And by this I mean that `make -f
posix.mak` will actually run through this bootstrap process, so that if
something breaks, it will be very obvious in the autotester and we
wouldn't pull whatever PR it is that caused the breakage.) This would
ensure that whatever we do, ddmd won't become uncompilable with a
previous release of itself, but will be effectively written in a prior
version of D (or ideally, in the common subset of D between the two
releases, or N releases if we decide to do that).


T

-- 
What is Matter, what is Mind? Never Mind, it doesn't Matter.


More information about the Digitalmars-d mailing list