[Issue 20143] ICE in optimizer on real 0/0 returned as double

2022-07-09 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

--- Comment #6 from Dlang Bot  ---
dlang/dmd pull request #14280 "merge stable" was merged into master:

- 6d590f4c88d7ada0743e5bdb4223a7d044924322 by mhh:
  Fix Issue 20143 - Backend constant folding did not support division by real.

  This involved simply adding the correct case to the grand olde switch
statement that does the evalu8tion

https://github.com/dlang/dmd/pull/14280

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2022-06-07 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

Dlang Bot  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Dlang Bot  ---
dlang/dmd pull request #14192 "Fix Issue 20143 - Backend constant folding did
not support division b…" was merged into stable:

- 7e2ca1ba2f849ad4a1670ff351702a2806dfd89a by mhh:
  Fix Issue 20143 - Backend constant folding did not support division by real.

  This involved simply adding the correct case to the grand olde switch
statement that does the evalu8tion

https://github.com/dlang/dmd/pull/14192

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2022-06-07 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

Dlang Bot  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #4 from Dlang Bot  ---
@maxhaton updated dlang/dmd pull request #14192 "Fix Issue 20143 - Backend
constant folding did not support division b…" fixing this issue:

- Fix Issue 20143 - Backend constant folding did not support division by real.

  This involved simply adding the correct case to the grand olde switch
statement that does the evalu8tion

https://github.com/dlang/dmd/pull/14192

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2022-06-07 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

mhh  changed:

   What|Removed |Added

 CC||maxha...@gmail.com
   Severity|enhancement |normal

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2021-03-21 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

Iain Buclaw  changed:

   What|Removed |Added

   Keywords||backend
 CC||ibuc...@gdcproject.org

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2019-08-20 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

FeepingCreature  changed:

   What|Removed |Added

 CC||default_357-l...@yahoo.de

--- Comment #3 from FeepingCreature  ---
This is one for Walter.

The proximate cause is that in elem.d, the "0" on the left side of 0 / fun(0)
is converted from a long double constant to a double constant sight unseen.
(elem.d: shrinkLongDoubleConstantIfPossible)  This leaves the operation post
inlining standing as "double / long double", which is not a valid operation.

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2019-08-19 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

bachm...@yahoo.com changed:

   What|Removed |Added

 CC||bachm...@yahoo.com

--- Comment #2 from bachm...@yahoo.com ---
(In reply to Daniel Kozak from comment #1)
> needs to be compiled with enabled inlineing (-inline) and it is not
> important that return type of `bug` function is double it could be int, but
> if we change fun tu return double it works as expected

It actually has to be compiled with the combination -O -inline. Works fine if
compiling with either -O or -inline but not both.

--


[Issue 20143] ICE in optimizer on real 0/0 returned as double

2019-08-19 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=20143

Daniel Kozak  changed:

   What|Removed |Added

 CC||kozz...@gmail.com

--- Comment #1 from Daniel Kozak  ---
needs to be compiled with enabled inlineing (-inline) and it is not important
that return type of `bug` function is double it could be int, but if we change
fun tu return double it works as expected

--