Bug 11755 – Operator <>= and !<>= with arrays make internal error in e2ir

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-12-17T01:33:00Z
Last change time
2014-01-15T09:44:31Z
Keywords
ice, pull
Assigned to
nobody
Creator
iselix1988+dbugzilla

Comments

Comment #0 by iselix1988+dbugzilla — 2013-12-17T01:33:14Z
Internal error in e2ir occurs when apply binary operator <>= and !<>= to arrays. See code below: import std.stdio; void main(){ int[] a, b; writeln(a <> b); // OK writeln(a <>= b); // Internal error: e2ir.c 2081 writeln(a !<>= b); // Internal error: e2ir.c 2081 }
Comment #1 by k.hara.pg — 2013-12-21T07:03:50Z
https://github.com/D-Programming-Language/dmd/pull/3000 It's a regression caused by fixing bug 3903.
Comment #2 by github-bugzilla — 2013-12-21T21:26:47Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/f942d1eb9d80d574ee5a68d8bc85032ff53c82fe fix Issue 11755 - Operator <>= and !<>= with arrays make internal error in e2ir Currently backend layer implicitly translates NCEG operators to the corresponding integer operators in non-floating comparisons. If no corresponding operator exists, it had been reported backend error, and now ICE causes. https://github.com/D-Programming-Language/dmd/commit/de0600bfade852fbecc0e777e133d0ac1b97d609 Merge pull request #3000 from 9rnsr/fix11755 [REG2.065a] Issue 11755 - Operator <>= and !<>= with arrays make internal error in e2ir
Comment #3 by github-bugzilla — 2013-12-22T16:16:59Z
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/6157a577222b8fe113738f1d00292fbc68bb405d Merge pull request #3000 from 9rnsr/fix11755 [REG2.065a] Issue 11755 - Operator <>= and !<>= with arrays make internal error in e2ir
Comment #4 by github-bugzilla — 2014-01-15T09:44:31Z