[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