Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ltsmaster 0.17 miscompiles LDC >= 1.21 #3354

Open
JohanEngelen opened this issue Mar 8, 2020 · 7 comments
Open

ltsmaster 0.17 miscompiles LDC >= 1.21 #3354

JohanEngelen opened this issue Mar 8, 2020 · 7 comments

Comments

@JohanEngelen
Copy link
Member

See #3333 (comment)

Does this mean we have to drop ltsmaster compilation support? Or is it sufficient to add a big warning when the d compiler used to build LDC is recognized to be <= 0.17, telling the user to use the just-built compiler to rebuild LDC?

@kinke
Copy link
Member

kinke commented Mar 15, 2020

Not related to ltsmaster, but another potential corruption with host compilers < 2.085.1: dlang/dmd#10896 (comment)

@Geod24
Copy link
Contributor

Geod24 commented Mar 15, 2020

Regarding the fix to the aforementioned comment, it's literally 1 line of red, so trivial to backport.

@kinke
Copy link
Member

kinke commented Mar 15, 2020

That's not the point, but rather that until recently, the host compiler version wasn't that crucial (except for -lowmem not working properly with older druntimes), but now we get silent corruptions wrt. @live analysis (dunno with which version that was fixed) and, potentially, this horrible vtable issue above (granted, only if compiled separately, which would need to be enabled manually - edit: we do separately compile the compiler unittests...). The nixOS packagers still ship a compiler built with ltsmaster...

@ibuclaw
Copy link
Contributor

ibuclaw commented Mar 16, 2020

Would it be possible to use the dmd-cxx branch like gdc?

@kinke
Copy link
Member

kinke commented Mar 16, 2020

That wouldn't be worth the effort IMO; instead, our README.md now just recommends to use gdmd for those who want to bootstrap from plain C++. No more ltsmaster baggage incl. new-LLVM-version backports etc., and for those interested in conquering a new platform, cross-compilation (incl. LDC itself) should be way less painful than adding support in ltsmaster (compiler + libs) first, and then porting that to master.

@dnadlinger
Copy link
Member

Would still be good to know (and note down) what the last "good" ltsmaster-bootstrapped version is so people can follow a two-step process if necessary.

@kinke
Copy link
Member

kinke commented Mar 21, 2020

I've added it as new 'known issue' to the release notes. The 'regular' two-step process (ltsmaster -> master -> master) should still work, as long as we don't have any @live in the compiler sources, which is unlikely to happen soon. Edit: Oh, and in druntime/Phobos neither, which might take less time to break.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants