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

[REG2.064] Issue 13221 - [ICE] '0' on line 318 in file 'interpret.c' #3824

Merged
merged 1 commit into from
Jul 29, 2014

Conversation

9rnsr
Copy link
Contributor

@9rnsr 9rnsr commented Jul 29, 2014

@@ -713,8 +713,10 @@ void ctfeCompile(FuncDeclaration *fd)
*/
Expression *ctfeInterpret(Expression *e)
{
if (e->type == Type::terror)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this change imply expressions may reach ctfeInterpret with an error type that somehow have not been replaced with error expressions? Is this legitimate or should the type check be replaced with an assert?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the issue case, e->op was TOKerror but its type was int - I think it should be fixed, but adding assert is too dangerous as a regression fix.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a comment about this to ctfeInterpret, then.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added disabled assert with FIXME comment.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Would you consider a second pull request that replaces the check with an assert? Not to be merged into the release of course.

I'm not too worried about documenting it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would need more work to enable the assert. Currently my resource is used for regression issues.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine. No rush.

@yebblies
Copy link
Member

I really wish you wouldn't do these refactorings inside pull requests. It makes it much harder to see which lines are important.

@9rnsr
Copy link
Contributor Author

9rnsr commented Jul 29, 2014

OK' I removed some refactoring changes.

@yebblies
Copy link
Member

OK' I removed some refactoring changes.

Thankyou. A 10-line diff is really much nicer to read. As the ddmd source is auto-formatted brace-placement fixes are rather pointless.

@yebblies
Copy link
Member

Auto-merge toggled on

yebblies added a commit that referenced this pull request Jul 29, 2014
[REG2.064] Issue 13221 - [ICE] '0' on line 318 in file 'interpret.c'
@yebblies yebblies merged commit 02c6399 into dlang:master Jul 29, 2014
9rnsr pushed a commit to 9rnsr/dmd that referenced this pull request Jul 29, 2014
[REG2.064] Issue 13221 - [ICE] '0' on line 318 in file 'interpret.c'
@9rnsr 9rnsr deleted the fix13221 branch July 29, 2014 23:48
@quickfur
Copy link
Member

quickfur commented Sep 5, 2014

This PR has caused a regression: https://issues.dlang.org/show_bug.cgi?id=13417

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.

4 participants