Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 12487 - DMD correctly reports excessive CTFE recursion, but not template recursion #4731

Merged
merged 1 commit into from
Oct 4, 2015

Conversation

9rnsr
Copy link
Contributor

@9rnsr 9rnsr commented Jun 9, 2015

https://issues.dlang.org/show_bug.cgi?id=12487

When an instance that will be converted to a constant exists, the instance representation "foo!tiargs" is treated like a variable name, and its recursive appearance check (note that it's equivalent with a recursive instantiation of foo) is done separately from the recursive definition check for the eponymous enum variable declaration.

By the approach, we can remove problematic global.gag check in DsymbolExp::semantic() without breaking fail_compilation/diag10141.d.

@9rnsr
Copy link
Contributor Author

9rnsr commented Jun 9, 2015

@donc You're the person who added the gag check in #3594. Can you review this?

@9rnsr 9rnsr force-pushed the fix12487 branch 2 times, most recently from f812c0f to 537fceb Compare June 12, 2015 16:03
@9rnsr
Copy link
Contributor Author

9rnsr commented Jun 25, 2015

Fixed trailing space in expression.c.

@9rnsr
Copy link
Contributor Author

9rnsr commented Aug 30, 2015

Rebased on master, and ready for ddmd.

@WalterBright
Copy link
Member

Couldn't this be 5 PRs instead of one?

@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 28, 2015

@WalterBrigt A commit depends on the previous commits. So this cannot be 5 independent PRs.

@WalterBright
Copy link
Member

The 'Refactor ScopeExp::semantic()' appears to be independent.

@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 28, 2015

@WalterBright Yes, but latter 4 commits depend on that refactoring. I don't like to create multiple "dependent PRs", because their maintenance is troublesome.

@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 28, 2015

@WalterBright I've separated the first commit to #5132. Is that reviewable/mergeable to you?

@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 28, 2015

2nd separation: #5135

@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 29, 2015

3rd separation: #5142

@9rnsr 9rnsr force-pushed the fix12487 branch 2 times, most recently from 46977ea to 3e4497d Compare September 30, 2015 02:43
@9rnsr
Copy link
Contributor Author

9rnsr commented Sep 30, 2015

Last separation! #5149

@9rnsr
Copy link
Contributor Author

9rnsr commented Oct 4, 2015

All of separation commits (#5132, #5135, #5142, and #5149) has been merged. Now this PR contains only diagnostic test case.

@9rnsr
Copy link
Contributor Author

9rnsr commented Oct 4, 2015

Auto-merge toggled on

9rnsr added a commit that referenced this pull request Oct 4, 2015
Issue 12487 - DMD correctly reports excessive CTFE recursion, but not template recursion
@9rnsr 9rnsr merged commit d072c72 into dlang:master Oct 4, 2015
@9rnsr 9rnsr deleted the fix12487 branch October 4, 2015 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants