GDC with D frontend 2.081.2
Arun Chandrasekaran
aruncxy at gmail.com
Mon Aug 27 17:23:04 UTC 2018
On Friday, 24 August 2018 at 05:35:13 UTC, Eugene Wissner wrote:
> As some of you may know D frontend was merged into GDC some
> time ago and is up to date. D version currently supported by
> GDC is 2.081.2 and it can be found in "gdc-7" and "gdc-8"
> branches. I will say a bit more about GDC development and
> development plans later.
>
> I prepared GDC/GCC 7.3.0 binaries for x86-64 Linux built on
> Ubuntu 18.04:
>
> https://download.dlackware.com/gdc/gdc-7.3.0_2.081.2-linux-x86_64.tar.xz
>
> I’m not a regular Ubuntu user, and built GDC in a VM, so don't
> blame me (too much) if something doesn’t work, but let me know
> anyway. For testing I've used a minimal Ubuntu installation and
> had to install only "libc-dev" package. The package includes
> gcc, g++, gdc and standard GNU tools, but no D tools like dub.
> I still need some time to automate the building, then I can
> build for more platforms and provide some core tools.
>
> We support several GCC versions and we still support
> C++-frontend (D version: 2.076). The reason for this is that
> C++-frontend should be merged into the next GCC version (GCC
> 9), then it can be built without another D compiler. D frontend
> goes into GCC 10 and can be built with GCC 9, so GCC can be
> bootstrapped without external compilers and can be used to
> bootstrap other D compilers.
>
> Current branch model. There are 2 "master" branches: master and
> stable. master contains D frontend and follows DMD master
> (we'll see if we can update every week or every two weeks).
> stable contains C++ frontend which doesn't get new D features
> anymore but of course we merge bug fixes from master. Both
> follow GCC master (master is updated weekly to GCC snapshots,
> stable from time to time).
> stable has 4 derivates: gdc-8-stable, gdc-7-stable,
> gdc-6-stable and gdc-5-stable. It seems to be a lot, but the
> last merge from stable was really trivial, so the most work is
> done on the master derivates: "gdc-8" and "gdc-7" branches.
> These two follow DMD stable and contain stable D releases.
1. It would be good to print the DMD frontend version with `gdc
--version`. It is helpful in reporting bugs. LDC does this.
```
$ ldc2 --version
LDC - the LLVM D compiler (1.9.0):
based on DMD v2.079.1 and LLVM 6.0.0
built with LDC - the LLVM D compiler (1.9.0)
Default target: x86_64-unknown-linux-gnu
Host CPU: ivybridge
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_be - AArch64 (big endian)
arm - ARM
arm64 - ARM64 (little endian)
armeb - ARM (big endian)
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
thumb - Thumb
thumbeb - Thumb (big endian)
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
```
2. I see a file dub_platform_probe-UUID.s getting created in the
root dir when building with GDC and not with DMD/LDC.
3. Multiple definition error. Logs:
https://bpaste.net/show/7b12dfccceb1 This doesn't seem to be a
problem when building with DMD (v2.081.1) / LDC (1.9.0)
"dependencies" : {
"darg": "~>0.0.4",
"painlessjson": "~>1.3.5",
"requests": "~>0.8.3"
}
More information about the Digitalmars-d-announce
mailing list