www.digitalmars.com         C & C++   DMDScript  

D.gnu - GDC on Windows(mingw32) compiled but has template issue.

reply Daniel Green <venix1 gmail.com> writes:
Recently I tried compiling goshawk's gdc,1.045 at the moment, for 
Windows using TDM's GCC/mingw32 patches and build files.  When I started 
I chose Cygwin as an environment because the MinGW website was down at 
the time.  The compiler has been successfully built and the process to 
build it somewhat documented from scratch.

However, when attempting to compile tango 0.99.8 I ran across a template 
error that I need help finding the cause of.


When compiling 'tango/text/Regex.d' GDC outputs the following messages.

tango\math\Math.d:212: Error: function 
tango.math.Math.min!(dchar,uint).min parameter min._param_zu is already 
defined

tango\math\Math.d:2426: Error: template instance 
tango.math.Math.min!(dchar,uint) error instantiating

With Linux I can build tango using the same GDC/GCC version compiled 
from source.
Also the second message should actually read 'tango\text\Regex.d:2426' 
but does not.

I have reduced it down to a specific template signature
   void max(T...)(T arg)
   {}




As a side note, I am attempting to rebuild using the msys environment to 
rule out any cygwin/posix/mingw inconsistencies.  I have built gdc 
successively with msys before.

I was hoping to have tango working with gdc before releasing my notes on 
building so that I could better test it.  But if someone would like to 
try it I can post them.

TDM's GCC/mingw32 Builds : http://www.tdragon.net/recentgcc/
goshawk GDC              : http://bitbucket.org/goshawk/gdc/wiki/Home
Feb 13 2010
parent Michael P. <baseball.mjp gmail.com> writes:
Daniel Green Wrote:

 Recently I tried compiling goshawk's gdc,1.045 at the moment, for 
 Windows using TDM's GCC/mingw32 patches and build files.  When I started 
 I chose Cygwin as an environment because the MinGW website was down at 
 the time.  The compiler has been successfully built and the process to 
 build it somewhat documented from scratch.
 
 However, when attempting to compile tango 0.99.8 I ran across a template 
 error that I need help finding the cause of.
 
 
 When compiling 'tango/text/Regex.d' GDC outputs the following messages.
 
 tango\math\Math.d:212: Error: function 
 tango.math.Math.min!(dchar,uint).min parameter min._param_zu is already 
 defined
 
 tango\math\Math.d:2426: Error: template instance 
 tango.math.Math.min!(dchar,uint) error instantiating
 
 With Linux I can build tango using the same GDC/GCC version compiled 
 from source.
 Also the second message should actually read 'tango\text\Regex.d:2426' 
 but does not.
 
 I have reduced it down to a specific template signature
    void max(T...)(T arg)
    {}
 
 
 
 
 As a side note, I am attempting to rebuild using the msys environment to 
 rule out any cygwin/posix/mingw inconsistencies.  I have built gdc 
 successively with msys before.
 
 I was hoping to have tango working with gdc before releasing my notes on 
 building so that I could better test it.  But if someone would like to 
 try it I can post them.
 
 TDM's GCC/mingw32 Builds : http://www.tdragon.net/recentgcc/
 goshawk GDC              : http://bitbucket.org/goshawk/gdc/wiki/Home
Could you post the bug report on bitbucket? It will be easier to keep track of that way.
Feb 15 2010