Bug 15760 – Segfault when compiling when using __gshared and selective import.

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2016-03-04T19:39:00Z
Last change time
2016-03-24T23:52:35Z
Keywords
ice
Assigned to
nobody
Creator
asistentedeprincipios2

Comments

Comment #0 by asistentedeprincipios2 — 2016-03-04T19:39:15Z
#cat alice.d import bob : Foo; struct Bar { __gshared Foo foo; } #cat bob.d import alice; struct Foo { Bar a; } Compiling with dmd, gdc or ldc causes a segmentation fault. 'dmd alice.d bob.d' segfaults, but 'dmd bob.d alice.d' doesn't. Changing the first import from 'bob : Foo' to just 'bob' stops the segfault. Also happens if foo is a pointer but if boo is one, it doesn't have the problem.
Comment #1 by asistentedeprincipios2 — 2016-03-04T19:40:44Z
*bar instead of boo
Comment #2 by k.hara.pg — 2016-03-24T15:39:22Z
The compiler segfault is fortunately fixed by the PR for issue 15519. https://github.com/D-Programming-Language/dmd/pull/5333 I'll add a test case to avoid future regression.
Comment #3 by k.hara.pg — 2016-03-24T15:42:17Z
(In reply to Kenji Hara from comment #2) > I'll add a test case to avoid future regression. https://github.com/D-Programming-Language/dmd/pull/5573
Comment #4 by github-bugzilla — 2016-03-24T23:52:35Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/ec22537b5e745a286944342f2177237bd27dbb12 fix Issue 15760 - Segfault when compiling when using __gshared and selective import https://github.com/D-Programming-Language/dmd/commit/96aebe4cce9da42c137890aba692aecf08968b33 Merge pull request #5573 from 9rnsr/fix15760 Issue 15760 - Segfault when compiling when using __gshared and selective import