[dmd-beta] dmd 1.063 and 2.048 beta

Fawzi Mohamed fawzi at gmx.ch
Mon Aug 9 07:29:16 PDT 2010


On 9-ago-10, at 15:55, Don Clugston wrote:

> On 9 August 2010 14:07, Fawzi Mohamed <fawzi at gmx.ch> wrote:
>>
>> On 9-ago-10, at 13:46, Don Clugston wrote:
>>
>>> On 9 August 2010 13:23, Fawzi Mohamed <fawzi at gmx.ch> wrote:
>>>>
>>>> On 9-ago-10, at 12:37, Don Clugston wrote:
>>>>
>>>>> [...]
>>>>> On a somewhat related topic -- Andrei commented out the unit  
>>>>> tests in
>>>>> biguintcore and biguintx86 (search for @@ to find them) stating  
>>>>> that
>>>>> they fail on OSX.
>>>>> They certainly pass on Windows, and they are unchanged since the  
>>>>> last
>>>>> release. Can someone with access to OSX please uncomment them, and
>>>>> confirm that they fail? If they're failing, I think it can only  
>>>>> mean
>>>>> we have an OSX-specific wrong-code regression, which we need to  
>>>>> solve.
>>>>
>>>> On tango, they fail on osx, since like forever, I had told you but
>>>> probably
>>>> I should have made a more formal thing about it.
>>>> I sort of submitted a bug in
>>>> http://dsource.org/projects/tango/ticket/1958
>>>
>>> OK, sounds like the unit tests may never have passed on OSX.
>>> BTW you can now assume that none of the Phobos devs will look at
>>> anything related to Tango. Compiler-related bug reports need to be
>>> added to Bugzilla.
>>
>> I have always tried to reduce compiler bugs to lib independent  
>> bugs, and
>> submit them
>
> Thanks. Seems like this one just didn't copied into Bugzilla. Which is
> a shame, because it's important.

This is a phobos bug, an I don't test phobos, just the compiler :)

> Anyway, from looking at the code, I reckon that it's the
> position-dependent code that's the problem. Is it possible that OSX
> requires position independent code? I had always assumed that if it
> did, D_PIC would always be set, but from looking at the compiler
> source, it looks as if D_PIC is set only if it was set from the
> command line.

>
> Try going into bigintx86, and replacing "D_PIC" with "all". If the
> failing tests pass, that's the problem. And unless OSX has a concept
> of PIC, I think OSX should define D_PIC at all times.

Yes osx needs position independent code, I have tried to replace D_PIC  
with IS_PIC and add

version(darwin){
     version=IS_PIC;
}
version(D_PIC){
     version=IS_PIC;
}

at the beginning of the file, but at least the tango version still  
fails with

tango.core.Exception.AssertException at tango.math.BigInt(406): Assertion  
failure

Fawzi
>



More information about the dmd-beta mailing list