Bug 19574 – DMD crashes with templated structs in two identical extern(C++, "") blocks

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2019-01-11T09:22:08Z
Last change time
2019-02-11T19:09:19Z
Keywords
ice
Assigned to
No Owner
Creator
Atila Neves

Attachments

IDFilenameSummaryContent-TypeSize
1726bug-report.txtstack tracetext/plain12626

Comments

Comment #0 by atila.neves — 2019-01-11T09:22:08Z
With dmd 2.084.0, the following code crashes the compiler: -------------------- extern(C++, "ns") { struct Foo { Bar!Foo bar; } } extern(C++, "ns") { struct Bar(T) {} } -------------------- It doesn't crash if the two blocks are fused into one.
Comment #1 by schlote — 2019-01-19T15:05:02Z
Created attachment 1726 stack trace
Comment #2 by schlote — 2019-01-19T15:18:55Z
Please erase attachment. Appended it to wrong issue.
Comment #3 by petar.p.kirov — 2019-02-11T19:09:19Z