9189 – (D1 only) ICE on simple valid code since dmd 1.074

D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 9189 - (D1 only) ICE on simple valid code since dmd 1.074
Summary: (D1 only) ICE on simple valid code since dmd 1.074
Status: RESOLVED WORKSFORME
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D1 (retired)
Hardware: All All
: P2 regression
Assignee: No Owner
URL:
Keywords: ice
Depends on:
Blocks: 9188
Show dependency tree / graph
Reported: 2012年12月20日 00:22 UTC by Denis Shelomovskii
Modified: 2012年12月22日 18:13 UTC (History)
1 user (show)

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 Denis Shelomovskii 2012年12月20日 00:22:16 UTC
This code used to compile but resultes in ICE since dmd 1.074:
---
struct S1 {
 enum E { x }
 E e;
 const S1 s1 = S1(E.x);
 void f() {
 if(*this == s1) { }
 }
}
struct S2 {
 S1 s = S1.s1;
}
---
dmd 1.075 compiler output:
---
Assertion failure: '0' on line 1081 in file 'glue.c'
---
Comment 1 Walter Bright 2012年12月20日 00:39:52 UTC
This works in the D1 head.
Comment 2 Don 2012年12月22日 06:29:27 UTC
I can reproduce on Linux64, using D1 (Haven't yet checked if it happens with Phobos1, but definitely happens with Tango).
Comment 3 Denis Shelomovskii 2012年12月22日 06:59:27 UTC
(In reply to comment #2)
> I can reproduce on Linux64, using D1 (Haven't yet checked if it happens with
> Phobos1, but definitely happens with Tango).
Strange, it doesn't look like a platform-dependent bug. Please, specify exact commit you are using to build dmd.
Also confirm that 118d3da3a9b35911afbf2eae98084f75c33802f3 doesn't work for you as it works for me on Win32.
Comment 4 Walter Bright 2012年12月22日 18:13:38 UTC
I added the test case into the D1 test suite, and ran the full test suite on all platforms. No errors.


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