[dmd-internals] [D-Programming-Language/dmd] fbd78c: fix Issue 12727 - DMD hangs up on recursive alias ...
GitHub via dmd-internals
dmd-internals at puremagic.com
Mon May 12 17:32:48 PDT 2014
Branch: refs/heads/master
Home: https://github.com/D-Programming-Language/dmd
Commit: fbd78c3db2c2c03ec098c1b433431d7f3f144ef7
https://github.com/D-Programming-Language/dmd/commit/fbd78c3db2c2c03ec098c1b433431d7f3f144ef7
Author: k-hara <k.hara.pg at gmail.com>
Date: 2014-05-13 (Tue, 13 May 2014)
Changed paths:
M src/declaration.c
A test/fail_compilation/ice12727.d
Log Message:
-----------
fix Issue 12727 - DMD hangs up on recursive alias declaration
By the commit fd1762c33ac034ad3112e69f21421b5c75b3cc6c, now static-if declaration does nothing in `addMembers` phase, and conditional eponymous template instance cannot raise "recursive alias declaration" error in `TemplateInstance::semantic`, because `TemplateInstance::aliasdecl` is not set until the end of it.
By looking for circular aliasing not only in `AliasDeclaration::semantic` but also in `AliasDeclaration::toAlias`, we can defer the detection until appropriate timing.
Commit: 3d2178f06b5022f58ab0cb27cce18b6f9cfc49bb
https://github.com/D-Programming-Language/dmd/commit/3d2178f06b5022f58ab0cb27cce18b6f9cfc49bb
Author: k-hara <k.hara.pg at gmail.com>
Date: 2014-05-13 (Tue, 13 May 2014)
Changed paths:
M src/dsymbol.c
M src/template.c
M src/template.h
M test/fail_compilation/ice12727.d
Log Message:
-----------
[Refactoring] Remove implicitly generated AliasDeclaration in TemplateInstance
Commit: 402efb34eba5e45f20a1b05850eac3647f6e635c
https://github.com/D-Programming-Language/dmd/commit/402efb34eba5e45f20a1b05850eac3647f6e635c
Author: Walter Bright <walter at walterbright.com>
Date: 2014-05-12 (Mon, 12 May 2014)
Changed paths:
M src/declaration.c
M src/dsymbol.c
M src/template.c
M src/template.h
A test/fail_compilation/ice12727.d
Log Message:
-----------
Merge pull request #3545 from 9rnsr/fix12727
[REG2.066a] Issue 12727 - DMD hangs up on recursive alias declaration
Compare: https://github.com/D-Programming-Language/dmd/compare/6f08c339d574...402efb34eba5
More information about the dmd-internals
mailing list