Internal Compiler Error Help
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu May 21 03:25:42 PDT 2015
On Thursday, 21 May 2015 at 10:24:59 UTC, John Colvin wrote:
> On Thursday, 21 May 2015 at 08:55:45 UTC, Saurabh Das wrote:
>> Thanks!
>>
>> Wow, dustmite is really useful. It reduces the expression down
>> to:
>>
>> double someFunction(double AvgPriceChangeNormalized, double
>> TicksTenMinutesNormalized)
>> {
>> return
>> (TicksTenMinutesNormalized?1:AvgPriceChangeNormalized)?1:TicksTenMinutesNormalized/(TicksTenMinutesNormalized==0)==0;
>> }
>>
>> Which gives a compiler error: Internal error: backend/cod1.c
>> 1562
>
> make that
>
> double foo(double a, double b)
> {
> return (b ? 1 : a) ? 1 : b / (b == 0) == 0;
> }
>
> and please submit to https://issues.dlang.org
>
> That expression is, not to put too fine a point on it, mad. The
> operator precedence itself is giving me a headache, let alone
> the division of a double by a boolean... I'm pretty sure it
> doesn't do what you want it to, unless what you want is
> seriously weird.
>
> As a matter of fact, i'm pretty sure that expression evaluates
> to 1, irrelevant of the values of the two variables.
s/irrelevant/irrespective/
More information about the Digitalmars-d-learn
mailing list