Thread overview
MinGW GDC updates
Jan 08, 2013
Daniel Green
Jan 12, 2013
Vladimir Panteleev
Jan 13, 2013
Andrej Mitrovic
Jan 13, 2013
Vladimir Panteleev
Jan 14, 2013
Daniel Green
Jan 26, 2013
Benjamin Thaut
Feb 24, 2013
Ben Davis
Feb 27, 2013
Vladimir Panteleev
Mar 05, 2013
Daniel Green
January 08, 2013
A new binary has been posted.  This contains GDC master up to Nov. 28th.

There's one annoyingly significant bug that I am aware of regarding exceptions.

Any uncaught exceptions will result in an infinite loop eventually dieing due to stack overflow.  However, this is only a minor annoyance and something to keep in mind when using GDB.

Installation instructions:

1. Download and install TDM 4.6.1 MinGW64( To a dedicated directory for GDC )
2. Extract the downloaded archive into the base of the newly installed TDM install.

If you've done this before, you can just do step 2.

MinGW64 installer
http://tdm-gcc.tdragon.net/

You'll need to pull it from the archives. http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/

GDC binary
https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-20130108-D2.060.7z

Please post all issues in D.gnu or on GDC's bugzilla at http://gdcproject.org/bugzilla/
January 12, 2013
On Tuesday, 8 January 2013 at 20:52:48 UTC, Daniel Green wrote:
> A new binary has been posted.  This contains GDC master up to Nov. 28th.

Hi Daniel,

Thank you for your work so far.

I ran into some issues after following the installation instructions. I was getting the following error:

gdc: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found

I tracked down the problem to the TDM-GCC installer linked in your post. It appears that even though the installer is from an older version, it will still download the latest one (4.7.1), and not even give you an option to select an older version.

Downloading the 4.6.1 archives and unpacking them manually took care of the problem. Here is what I had to download and unpack to get everything working:

GCC core: http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.6%20series/4.6.1-tdm64-1/gcc-4.6.1-tdm64-1-core.tar.lzma/download
GCC C++: http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.6%20series/4.6.1-tdm64-1/gcc-4.6.1-tdm64-1-c%2B%2B.tar.lzma/download
MinGW runtime: http://sourceforge.net/projects/tdm-gcc/files/MinGW-w64%20runtime/GCC%204.6%20series/mingw64-runtime-tdm64-gcc46-svn4483.tar.lzma/download
GDC: https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-20130108-D2.060.7z

By the way, I noticed this in README-gdc-mingw.txt:

> Includes D1 and D2 compilers.  Defaults to D1,
> D2 can be used by specifying -v2.
> -v2 must be used if GDC is used for linking.

And in the gdmd perl script:

>     } elsif ( $arg =~ m/^-v1$/ ) {
>         push @out, '-fd-version=1';

gdc doesn't seem to accept neither -fd-versionX nor -vX switches, so I assume the above are both outdated.
January 13, 2013
On 1/13/13, Vladimir Panteleev <vladimir@thecybershadow.net> wrote:
> I tracked down the problem to the TDM-GCC installer linked in your post. It appears that even though the installer is from an older version, it will still download the latest one (4.7.1), and not even give you an option to select an older version.

There's an option at the start [check for updated files]. I remember having to unselect that to install an older version. Don't know if it still works.
January 13, 2013
On Sunday, 13 January 2013 at 00:07:45 UTC, Andrej Mitrovic wrote:
> On 1/13/13, Vladimir Panteleev <vladimir@thecybershadow.net> wrote:
>> I tracked down the problem to the TDM-GCC installer linked in
>> your post. It appears that even though the installer is from an
>> older version, it will still download the latest one (4.7.1), and
>> not even give you an option to select an older version.
>
> There's an option at the start [check for updated files]. I remember
> having to unselect that to install an older version. Don't know if it
> still works.

Ahh... thanks, I completely missed it.
January 14, 2013
On 1/12/2013 5:37 PM, Vladimir Panteleev wrote:
> By the way, I noticed this in README-gdc-mingw.txt:
>
>> Includes D1 and D2 compilers.  Defaults to D1,
>> D2 can be used by specifying -v2.
>> -v2 must be used if GDC is used for linking.
>
> And in the gdmd perl script:
>
>>     } elsif ( $arg =~ m/^-v1$/ ) {
>>         push @out, '-fd-version=1';
>
> gdc doesn't seem to accept neither -fd-versionX nor -vX switches, so I
> assume the above are both outdated.

Thanks for bringing that to my attention.  That file is need of an update as I've removed that several months back.
January 26, 2013
Is it possible now to rebuild druntime and phobos without building the compiler from source first?

If not where are the most up to date instructions for building GDC on windows?

Kind Regards
Benjamin Thaut
February 24, 2013
Hi,

I'm sure you've seen it anyway, but just in case, I wanted to draw your attention to a 32-bit TLS bug I think I found, which only seems to affect this version.

Details are in the "Can GDC make DLLs?" thread: http://forum.dlang.org/thread/kgb15b$2o05$1@digitalmars.com#post-kgbdu5:24b2p:241:40digitalmars.com

There's a crash in the 32-bit build of a quick non-DLL test I did too, but it looks different - it's in the GC thread. I have no idea if it's the same bug or not.

Thanks for the hard work though - I'm very happy that GDC exists :)

On 08/01/2013 20:52, Daniel Green wrote:
> A new binary has been posted.  This contains GDC master up to Nov. 28th.
>
> There's one annoyingly significant bug that I am aware of regarding
> exceptions.
>
> Any uncaught exceptions will result in an infinite loop eventually
> dieing due to stack overflow.  However, this is only a minor annoyance
> and something to keep in mind when using GDB.
>
> Installation instructions:
>
> 1. Download and install TDM 4.6.1 MinGW64( To a dedicated directory for
> GDC )
> 2. Extract the downloaded archive into the base of the newly installed
> TDM install.
>
> If you've done this before, you can just do step 2.
>
> MinGW64 installer
> http://tdm-gcc.tdragon.net/
>
> You'll need to pull it from the archives.
> http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/
>
>
> GDC binary
> https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm64-1-gdc-20130108-D2.060.7z
>
>
> Please post all issues in D.gnu or on GDC's bugzilla at
> http://gdcproject.org/bugzilla/

February 27, 2013
On Tuesday, 8 January 2013 at 20:52:48 UTC, Daniel Green wrote:
> A new binary has been posted.  This contains GDC master up to Nov. 28th.

Hi Daniel,

I'd like to try building GDC for MinGW-64 myself, so I could contribute patches.
Are the instructions at http://gdcproject.org/wiki/MinGW64 up to date?
I noticed it mentions some patches attached to a BitBucket ticket, but the ticket now points to a patch queue, and GDC development had since moved to GitHub.
March 05, 2013
On 2/26/2013 6:29 PM, Vladimir Panteleev wrote:
> Are the instructions at http://gdcproject.org/wiki/MinGW64 up to date?
> I noticed it mentions some patches attached to a BitBucket ticket, but
> the ticket now points to a patch queue, and GDC development had since
> moved to GitHub.

The instructions are not up to date.  The patch queue was merged into the mingw branch at https://github.com/venix1/GDC.git

I've been working on doing a fresh install in order to update the instructions.