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

Support for newer LLVM versions for C++ bootstrap branch? #4713

Closed
dukc opened this issue Jul 28, 2024 · 7 comments
Closed

Support for newer LLVM versions for C++ bootstrap branch? #4713

dukc opened this issue Jul 28, 2024 · 7 comments

Comments

@dukc
Copy link
Contributor

dukc commented Jul 28, 2024

A Nix maintainer much better than me wants to bootstrap dmd and ldc. The problem is that NixPkgs does not support LLVM 8 anymore. Having the bootstrap compiler to support a newer LLVM would therefore help. Any chance of that happening?

Certainly with enough effort bootstrapping can be done via gdmd too but as NixPkgs currently stands it'd be more effort to do so.

ping @jtbx.

@thewilsonator
Copy link
Contributor

Use GDC?

@jtbx
Copy link
Contributor

jtbx commented Jul 28, 2024

Using GDC was the original plan, but the GDC package in Nixpkgs has a few issues: GDC 12 is apparently "broken" and GDC 11 fails to link in C/C++ libraries. It's very much our own problem. #261947 is meant to fix these problems but it's since stalled.

@thewilsonator
Copy link
Contributor

Your other option is to pick the last C++ DMD frontend, and bootstrap that forward.

@jtbx
Copy link
Contributor

jtbx commented Jul 28, 2024

I've tried using the sources in DMD's dmd-cxx branch (which should work for x86 platforms), but what do you mean by the last C++ frontend? Is the C++ frontend supposed to fit in to LDC's build system?

@dukc
Copy link
Contributor Author

dukc commented Jul 28, 2024

The backend in LDC is still C++, and was in C++ in dmd back in times when it's frontend was.

@kinke
Copy link
Member

kinke commented Jul 28, 2024

Any chance of that happening?

No. The branch is ltsmaster, ancient, doesn't support AArch64 etc., miscompiles newer compilers (#3354), has other issues like #2926, and I'm skeptical it can build latest master (since DMD upstream requires v2.076+, and ltsmaster is based on v2.068).

It's dead.

@dukc
Copy link
Contributor Author

dukc commented Jul 28, 2024

Unfortunate but understandable.

@dukc dukc closed this as not planned Won't fix, can't repro, duplicate, stale Jul 28, 2024
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

4 participants