1290 – Two ICEs, both involving real, imaginary, ? : and +=.

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 1290 - Two ICEs, both involving real, imaginary, ? : and +=.
Summary: Two ICEs, both involving real, imaginary, ? : and +=.
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: x86 Windows
: P2 normal
Assignee: Walter Bright
URL:
Keywords:
Depends on:
Blocks:
Reported: 2007年06月24日 14:24 UTC by Don
Modified: 2014年02月16日 15:26 UTC (History)
0 users

See Also:


Attachments
Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this issue.
Description Don 2007年06月24日 14:24:17 UTC
I think these are both manifestations of a single error: failing to detect a type mismatch. I think I've reported before that real+=complex compiles.
They should just issue a type mismatch error.
-------
void main()
{
 double a = 0;
 double b = 1;
 // Internal error: ..\ztc\cg87.c 3233
 a += (1? b: 1+1i)*1i;
 // Internal error: ..\ztc\cod2.c 1680
 a += (b?1:b-1i)*1i;
}
Comment 1 Walter Bright 2007年07月01日 14:09:15 UTC
Fixed DMD 1.018 and DMD 2.002


AltStyle によって変換されたページ (->オリジナル) /