http://d.puremagic.com/issues/show_bug.cgi?id=3919
Don <clugd...@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |clugd...@yahoo.com.au Summary|Assertion failure: '0' on |ICE(expression.c, 9944): * |line 9944 in file |or / with typedef ireal |'expression.c' | --- Comment #1 from Don <clugd...@yahoo.com.au> 2010-03-10 23:56:01 PST --- Applies to D1 as well. Reduced test case for test suite, for both this bug and the next one: ------- typedef ireal BUG3919; alias typeof(BUG3919.init*BUG3919.init) ICE3919; alias typeof(BUG3919.init/BUG3919.init) ICE3920; ------- Simple: It's not obtaining the base type before checking if it is an imaginary type. PATCH: Expression.c MulExp::semantic, around line 9935. Apply exactly the same to DivExp::semantic, around line 10003, to fix bug 3920. if (!e1->isArrayOperand()) e1->checkArithmetic(); if (!e2->isArrayOperand()) e2->checkArithmetic(); if (type->isfloating()) - { Type *t1 = e1->type; - Type *t2 = e2->type; + { Type *t1 = e1->type->toBasetype(); + Type *t2 = e2->type->toBasetype(); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------