View previous topic :: View next topic |
Author |
Message |
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Wed Feb 01, 2006 7:58 pm Post subject: ares and gdc |
|
|
I was trying to compile Ares on GDC 0.17, Mac OS X 10.4, and I got a GDC internal error:
Code: |
gdmd -c -release -O -inline -I../ares -version=Posix gcx.d
gcx.d: In member function 'setFinalizer':
gcx.d:650: internal compiler error: in gimplify_expr, at gimplify.c:4326
|
Is there something that can be done to fix it?
I also noticed that there are also asm blocks. Can you version them? |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Wed Feb 01, 2006 8:50 pm Post subject: Re: ares and gdc |
|
|
Carlos wrote: | I was trying to compile Ares on GDC 0.17, Mac OS X 10.4, and I got a GDC internal error:
Code: |
gdmd -c -release -O -inline -I../ares -version=Posix gcx.d
gcx.d: In member function 'setFinalizer':
gcx.d:650: internal compiler error: in gimplify_expr, at gimplify.c:4326
|
Is there something that can be done to fix it? |
Not sure. I'll have to download GDC and take a look. I suspect this is related to the GC changes that occured a version ago, but it's difficult to tell beyond that.
Quote: | I also noticed that there are also asm blocks. Can you version them? |
Do you mean in the new math modules? I can, though I don't have an alternate implementation available. But the ASM everywhere else should already be versioned. If I missed something, just point me at the module. |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Wed Feb 01, 2006 9:22 pm Post subject: |
|
|
Does this imply Thread.d is now up to speed on non-Win32 platforms? |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Thu Feb 02, 2006 12:16 am Post subject: |
|
|
Not yet. But this thread had me thinking it might be about time to try and get the non-Windows side of things up to speed. I'm going to install MinGW and GDC and hope that's sufficient to work from. |
|
Back to top |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Thu Feb 02, 2006 7:44 am Post subject: Re: ares and gdc |
|
|
sean wrote: | Carlos wrote: | I also noticed that there are also asm blocks. Can you version them? |
Do you mean in the new math modules? I can, though I don't have an alternate implementation available. But the ASM everywhere else should already be versioned. If I missed something, just point me at the module. |
No, in the same gcx.d. I don't know if other modules too. I couldn't get too far compiling: it just compiles gc.d and the crashes at gcx.d. |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Thu Feb 02, 2006 9:42 am Post subject: |
|
|
Ah. There should already (hopefully) be code in GDC's version of Phobos that can be used to replace those blocks. If not... well, hopefully the code is easy to translate to a D equivalent. |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Fri Feb 03, 2006 2:02 pm Post subject: |
|
|
So I grabbed a copy of glibc to see about improving Posix support and almost fell over when I looked at the headers--they're very well organized, but the use of preprocessor language is without parallel. But this made me realize that I perhaps took far too much for granted with the way I implemented the Ares standard C headers. So I'm setting aside the next week to redo the C99 port, replace all types with aliases, and just genreally make sure everything is nice and solid before moving on.
After that I'll reconsider the Posix side of things. An automated port might be possible, but doing so would be kind of weird because the #if blocks would likely need to be translated to static if blocks, but macro functions would need to be expanded. At the moment I'm clinging to the hope that there's a C preprocessor floating around that could be adapted for this purpose, and worst case I suppose I could throw one together with lex/yacc.
If I get sick of doing all this I may look into simply making Ares work under GDC using any means necessary and forget about all this Posix nonsense, but I'd like to look into doing it right before I break out the duct tape, even if it means that I'll be silently cursing our C legacy for the next N days |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Fri Feb 03, 2006 2:05 pm Post subject: |
|
|
Egad! Sounds painful ~ are you getting your teeth pulled also?
|
|
Back to top |
|
|
Carlos
Joined: 19 Mar 2004 Posts: 396 Location: Canyon, TX
|
Posted: Fri Feb 03, 2006 2:12 pm Post subject: |
|
|
Thanks Sean. I'll be looking forward to it. |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Fri Feb 03, 2006 2:21 pm Post subject: |
|
|
kris wrote: | Egad! Sounds painful ~ are you getting your teeth pulled also?
|
lol. Perhaps that's the problem. My good sense was removed along with my Wisdom teeth |
|
Back to top |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Sat Feb 04, 2006 5:37 pm Post subject: |
|
|
In a moment of clarity I decided to simply support the platforms D is likely to run on, so for now the standard C library changes will only adapt to variable-width longs. If it turns out that the size of int or some such needs attention as well, I'll worry about that then |
|
Back to top |
|
|
|