[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Basile-z changed: What|Removed |Added CC|b2.t...@gmx.com | --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Basile-z changed: What|Removed |Added Status|NEW |RESOLVED CC||b2.t...@gmx.com Resolution|--- |WORKSFORME --- Comment #3 from Basile-z --- this works fine nowadays (git 7036b216dcb5d2b8394ae5c12324227c8ca47187), w or w/o -O -inline, -m32 or -m64. --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Andrei Alexandrescu and...@erdani.com changed: What|Removed |Added Version|unspecified |D2 --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Vlad Levenfeld vlevenf...@gmail.com changed: What|Removed |Added CC||vlevenf...@gmail.com --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Martin Nowak c...@dawg.eu changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=5570 --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 Ola Østtveit ola...@gmail.com changed: What|Removed |Added CC||ola...@gmail.com --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 --- Comment #2 from Martin Nowak c...@dawg.eu --- Mmh, the codegen assertion vanished with this commit (https://github.com/D-Programming-Language/dmd/commit/9efe7f74c2462e8743f5a479cd04f9be733be4b0). I reproduced another test case for the issue. cat bug.d CODE struct FPoint { float x, y; } struct FRect { float left, top, right, bottom; static FRect calcBounds(FPoint[] ) { return FRect(); } } struct Matrix { FRect mapRect(FRect src) { FPoint[] pts = new FPoint[](1); pts[0].x = src.left; pts[0].y = src.top; return FRect.calcBounds(pts); } } // TODO: FPoint - Point!T struct Path { @property FRect bounds() { if (points.length) return FRect(); else return FRect(); } FPoint[] points; } void foo() { Matrix mat; Path path; mat.mapRect(path.bounds); } CODE The issues first appeared with dmd2.060 and seems to be triggered by assigning tym = TYucent to 16 byte structs that consist of either 4 floats or 2 doubles in elstruct (https://github.com/D-Programming-Language/dmd/blob/5cc1c812227440d199f265dec8fb976bea7ad943/src/backend/cgelem.c#L3077). I don't understand that code good enough to fix the issue though. --
[Issue 12862] [ICE] backend assertion (Internal error: backend/cg87.c 331) with inline, optimizing and floats
https://issues.dlang.org/show_bug.cgi?id=12862 yebblies yebbl...@gmail.com changed: What|Removed |Added CC||yebbl...@gmail.com Severity|enhancement |critical --- Comment #1 from yebblies yebbl...@gmail.com --- I can't reproduce this on win32 or linux64 --