On Friday, 28 January 2022 at 17:42:25 UTC, singingbush wrote:
not sure where is best placed for this but on my Fedora system running `gdc --version` gives me pretty much the same output as `gcc --version`

GDC:

```
$ gdc --version
gdc (GCC) 11.2.1 20211203 (Red Hat 11.2.1-7)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```

GCC:

```
$ gcc --version
gcc (GCC) 11.2.1 20211203 (Red Hat 11.2.1-7)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```

It would be far more helpful if running `gdc --version` gave some indication of the version of D it's aligned to (which was 2.076 last time I checked).

If you want to do this automated you can run

    echo | gdc -xd -fsyntax-only -v -

see how code-d does it: https://github.com/Pure-D/code-d/blob/master/src/compilers.ts#L637

Then you can fetch from the output the GCC version, DMD-FE version and import paths using these regexes:

```js
const gdcVersionRegex = /^gcc version\s+v?(\d+(?:\.\d+)+)/gm;
const gdcFeVersionRegex = /^version\s+v?(\d+(?:\.\d+)+)/gm;
const gdcImportPathRegex = /^import path\s*\[\d+\]\s*=\s*(.+)/gm;
```

Reply via email to