bug covering other bug
Mariusz Gliwiński
alienballance at gmail.com
Sat Aug 27 00:48:19 PDT 2011
bearophile wrote:
> Mariusz G.:
>
>> So, on my Linux x64 dmd 2.53 & 2.54, while hunting another bug (i already
>> highly doubt it's my) - i've found this one:
>
> I can't reproduce the problem on 2.055head on 32 bit Windows.
> DMD 64 bit is relatively recent, it contains several bugs still.
More - http://d.puremagic.com/issues/show_bug.cgi?id=6562
>> Another problem i'm searching for, is something with interfacing to C,
>> pointer to floats and properties and/or aliasing. NVM
>
> I don't understand.
I'm passing address of float variables to external C function. dmd is
passing 80bit (real) though.
<code>
0x0000000000d4f139 <+441>: movss -0xec(%rbp),%xmm7
0x0000000000d4f141 <+449>: movss -0xe8(%rbp),%xmm6
0x0000000000d4f149 <+457>: movss -0xe4(%rbp),%xmm5
0x0000000000d4f151 <+465>: movss -0xe0(%rbp),%xmm4
0x0000000000d4f159 <+473>: movss -0xdc(%rbp),%xmm3
0x0000000000d4f161 <+481>: movss -0xd8(%rbp),%xmm2
0x0000000000d4f169 <+489>: movss -0xd4(%rbp),%xmm1
0x0000000000d4f171 <+497>: movss -0xd0(%rbp),%xmm0
=> 0x0000000000d4f179 <+505>: callq 0x10b4b04
</code>
Well, actually my swig binding is casting from float* to void*, neverthless
float is C float and real is 80bit, so it shouldn't be a problem?
So, it's a next bug i should report, yes?
> Creating the project of your life with 64 bit DMD is a not so good idea.
> Currently DMD 32 bit is more reliable if you want to create a large
> project.
You're right, I've pushed to D too much, because it's one of projects
'features', and overall code design is driven by that. I'll just make my
current D code working properly, and write C++ modules (so i could fallback
to D soon).
Now question, is it generally worth to refactor quite big amounts of code
Thanks,
Mariusz
More information about the Digitalmars-d
mailing list