May 12, 2014 [dmd-internals] [D-Programming-Language/dmd] fbd78c: fix Issue 12727 - DMD hangs up on recursive alias ... | ||||
---|---|---|---|---|
| ||||
Attachments:
| 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@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@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@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 |
Copyright © 1999-2021 by the D Language Foundation