Thread overview
[Issue 12727] [REG2.066a] DMD hangs up on recursive alias declaration
[Issue 12727] GIT HEAD : DMD hangs up
May 10, 2014
Temtaime
May 10, 2014
Vladimir Panteleev
May 10, 2014
Vladimir Panteleev
May 12, 2014
Kenji Hara
May 10, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

Temtaime <temtaime@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |regression

--- Comment #1 from Temtaime <temtaime@gmail.com> ---
No hang on 065.So it's reg.

--
May 10, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

Vladimir Panteleev <thecybershadow@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thecybershadow@gmail.com

--- Comment #2 from Vladimir Panteleev <thecybershadow@gmail.com> ---
This is a regression. DMD 2.065 produces error messages and exits. DMD git overflows the stack.

--
May 10, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

--- Comment #3 from Vladimir Panteleev <thecybershadow@gmail.com> ---
Introduced in https://github.com/D-Programming-Language/dmd/pull/3400

--
May 12, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice, pull
            Summary|GIT HEAD : DMD hangs up     |[REG2.066a] DMD hangs up on
                   |                            |recursive alias declaration

--- Comment #4 from Kenji Hara <k.hara.pg@gmail.com> ---
https://github.com/D-Programming-Language/dmd/pull/3545

--
May 13, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

github-bugzilla@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--
May 13, 2014
https://issues.dlang.org/show_bug.cgi?id=12727

--- Comment #5 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/fbd78c3db2c2c03ec098c1b433431d7f3f144ef7 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.

https://github.com/D-Programming-Language/dmd/commit/402efb34eba5e45f20a1b05850eac3647f6e635c Merge pull request #3545 from 9rnsr/fix12727

[REG2.066a] Issue 12727 - DMD hangs up on recursive alias declaration

--