Cryptic bug for DMD v2.087.x
Seb
seb at wilzba.ch
Mon Aug 12 12:17:00 UTC 2019
On Monday, 12 August 2019 at 11:47:17 UTC, Peter Jacobs wrote:
> On Monday, 12 August 2019 at 11:30:58 UTC, Nicholas Wilson
> wrote:
>> On Monday, 12 August 2019 at 11:08:50 UTC, Peter Jacobs wrote:
>>> Nicholas, thank you for looking. Below is the transcript of
>>> compiling from within gdb.
>>> [...]
>>>> Program received signal SIGILL, Illegal instruction.
>>> 0x000000000081df07 in xmmload(unsigned int, bool) ()
>>> (gdb) backtrace
>>> #0 0x000000000081df07 in xmmload(unsigned int, bool) ()
>>
>> Thanks, that corresponds to
>> https://github.com/dlang/dmd/blob/eda232a9f72b482c92cefb27a4321afc0aedbb5c/src/dmd/backend/cgxmm.d#L716-L717.
>>
>> So it would appear that you are trying (apparently
>> successfully with debug DMD (and LDC(?)) to use `real` with
>> xmm somehow???
>> I can't really help anymore without a reduced test case.
>
> OK, I will see what I can do about a test case. Also, I will
> go looking for places where we* might have used real variables
> or values. I can think of the use of PI from the math module,
> for example.
>
> Cheers,
> Peter J.
>
> * There are a few of us writing various parts of the flow
> solver code.
FYI DustMite has been created _exactly_ for this purpose. It's
even bundled with the official DMD releases.
https://github.com/CyberShadow/DustMite/wiki
1) Copy all project sources in fresh directory
2) Run dustmite with a tester to check whether the bug can still
be observed.
Here:
---
dustmite fresh-dir 'dmd -O (your normal invocation) 2>&1 | grep
-qF "tym = 14"'
---
More information about the Digitalmars-d
mailing list