Bug 13675 – enum type used with template causes compiler to segfault

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-11-03T23:09:00Z
Last change time
2015-02-18T03:39:35Z
Keywords
ice, pull
Assigned to
nobody
Creator
alanb

Comments

Comment #0 by alanb — 2014-11-03T23:09:20Z
This used to work OK with dmd_2.064.2 amd64 The compiler now segfaults with dmd 2.066.1 amd64 enum S; // <- problem point bool foo( T : S )() { return false; } void bar() { if (foo!S) {} } int main() { bar(); return 0; } $ dmd main.d Segmentation fault Other user defined types such as struct and class will work and enum with user defined values will work too, eg enum S {a,b,c}.
Comment #1 by k.hara.pg — 2014-11-04T02:37:50Z
Comment #2 by github-bugzilla — 2014-11-16T06:17:29Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/161c7980d4605e2bd0937f7cb7b9470029f5a843 fix Issue 13675 - enum type used with template causes compiler to segfault https://github.com/D-Programming-Language/dmd/commit/a86bfd5dd0bd478aa2d3a77ca2ba0d3d8ccd2262 Merge pull request #4109 from 9rnsr/fix13675 [REG2.065] Issue 13675 - enum type used with template causes compiler to segfault
Comment #3 by github-bugzilla — 2015-02-18T03:39:35Z