www.digitalmars.com         C & C++   DMDScript  

D.gnu - OS X problem

reply "jerro" <a a.com> writes:
I'm trying to use GDC on OS X 10.7.3. GDC itself builds fine, but 
when I try to make an executable with it I get an error about 
__deh_eh_array not being defined. Is that a bug or am I doing 
something wrong? I don't normally use OS X so it could be 
something really obvious.
Aug 30 2012
next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 31 August 2012 03:14, jerro <a a.com> wrote:
 I'm trying to use GDC on OS X 10.7.3. GDC itself builds fine, but when I try
 to make an executable with it I get an error about __deh_eh_array not being
 defined. Is that a bug or am I doing something wrong? I don't normally use
 OS X so it could be something really obvious.

Probably something that needs to be fixed in porting. I suspect rt/memory_osx.d is completely wrong. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Aug 31 2012
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-08-31 04:14, jerro wrote:
 I'm trying to use GDC on OS X 10.7.3. GDC itself builds fine, but when I
 try to make an executable with it I get an error about __deh_eh_array
 not being defined. Is that a bug or am I doing something wrong? I don't
 normally use OS X so it could be something really obvious.

__deh_eh_array is defined in rt.deh2, which does not seem to exist in the GDC fork of druntime. -- /Jacob Carlborg
Aug 31 2012
prev sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 31 August 2012 14:06, Jacob Carlborg <doob me.com> wrote:
 On 2012-08-31 04:14, jerro wrote:
 I'm trying to use GDC on OS X 10.7.3. GDC itself builds fine, but when I
 try to make an executable with it I get an error about __deh_eh_array
 not being defined. Is that a bug or am I doing something wrong? I don't
 normally use OS X so it could be something really obvious.

__deh_eh_array is defined in rt.deh2, which does not seem to exist in the GDC fork of druntime.

Right, we implement the EH supported by GCC (practically, a D implementation of what's in libstdc++). I don't think you need to worry about adding it as a gc_Range, so just remove what you need... infact, you may just want to remove it all... -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Aug 31 2012