Tango 0.96 beta2 released

Sean Kelly sean at f4.ca
Fri Mar 16 16:37:15 PDT 2007


Frits van Bommel wrote:
> [Fair warning: this seems to have become a pretty big post]
> 
> Sean Kelly wrote:
>> Frits van Bommel wrote:
>>>
>>> I attached a patch, though I'm not sure how much use it'll be if you 
>>> insist on your own version of std.c.stdarg ...
>>
>> Thanks.  I think the stdarg issues should now be resolved  [...]
> 
> Sorry to disappoint again.
> Unfortunately, build-gdc.sh only compiles files in lib/ (and some in 
> std/ imported by them). These compile successfully with my patch, AFAICT.

Is this related to the stdarg issues?  Just want to make sure I 
understand what you meant by "sorry to disappoint."
> 
> The stuff in tango/ doesn't work quite as well though.
> For instance, it turns out tango.text.convert.Layout is pretty screwed 
> in the current implementation. Again, this has to do with varargs.

Saw that.  I passed the issue to Kris, but I suspect we may have to work 
together on this one.

> There were some other errors I less thoroughly investigated, but most of 
> these look like they can probably easily be fixed (in the first two 
> cases perhaps even by simply using the same code as for x86?):
> * tango.sys.linux.socket static asserts(0) if version(X86) isn't 
> defined, with comment "// Different values on other platforms." (the X86 
> branch defines a constant named "SOL_SOCKET", whatever that may be)
> * tango.math.IEEE doesn't define the FPU masks for amd64 (just for x86 
> and PPC it seems).
> * tango.text.Regex also seems to assume that va_list is a pointer to a 
> 1-byte type instead of using va_start/va_arg/va_end.

Thanks.  We'll look into these.  And please feel free to submit tickets 
for these or any other problem you find.

> * tango.stdc.posix.setjmp straight static asserts(false, "Architecture 
> not supported.") on version(X86_64) (though the actual error is an 
> undefined identifier used after that, presumably because static asserts 
> are evaluated a bit late in the parsing process)

This was deliberate, as a clear and obvious reminder to expand support 
as needed.  But perhaps this should be allowed to compile, accompanied 
by a pragma(msg) that Fibers won't work?  That said, if someone wants to 
pass on the relevant setjmp headers for a 64-bit glibc then I'll see 
about expanding support.  With this in mind, I don't suppose GDC yet 
supports inline ASM for the new 64-bit registers, etc?


Sean



More information about the Digitalmars-d-announce mailing list