On Saturday, 30 March 2019 at 15:30:16 UTC, Thomas Mader wrote:
The lowmem switch tests [1] fail for me because I use ltsmaster as the bootstrap compiler.

1) I think those tests should not run in this szenario.

2) I know that I need to rebuild ldc with itself to get the lowmem switch support in the long run but I wonder if that would not be better integrated into your cmake build via an option.
Otherwise the packagers out there need to do it for themselves.

Ideally, all packagers would by now have installed a 2-step bootstrapping process (ltsmaster -> master/recent version -> master) or an incremental process (previous version -> master). That also prevents us from having to backport support for newer LLVM versions to ltsmaster (e.g., ltsmaster doesn't support new LLVM 8). 32-bit ltsmaster isn't able to compile current master, and principal compilability of master with the ltsmaster/2.068 front-end and libs is also only possible due to some slight front-end adaptations (DMD requires 2.072 or so), whose number is only going to grow until it becomes totally infeasible. In short, ltsmaster won't be able to bootstrap current LDC master forever, and I guess that point is reached pretty soon.

As to integrating the build-with-itself option in CMake, I'm definitely against increasing CMake complexity, as invoking CMake + ninja/make twice is trivial and *way* more flexible.

And as to the 3 new dmd-testsuite tests using -lowmem, they are specifically there to check that the switch works, so if compiled with ltsmaster, they should fail to clearly indicate that the compiler isn't fully working due to an inadequate host compiler. If anyone doesn't care about that, the 3 files can simply be removed before running the tests.

Reply via email to