Skip to content

Commit

Permalink
Merge pull request #2764 from yebblies/issue11332
Browse files Browse the repository at this point in the history
Issue 11332 - ICE(dt.c) and missing error when interpreting an unimplemented builtin
  • Loading branch information
9rnsr committed Nov 14, 2013
2 parents e2e1335 + 3d7c9b7 commit e2faabf
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/interpret.c
Original file line number Diff line number Diff line change
Expand Up @@ -6303,7 +6303,10 @@ Expression *evaluateIfBuiltin(InterState *istate, Loc loc,
}
e = eval_builtin(loc, b, &args);
if (!e)
{
error(loc, "cannot evaluate unimplemented builtin %s at compile time", fd->toChars());
e = EXP_CANT_INTERPRET;
}
}
}

Expand Down
14 changes: 14 additions & 0 deletions test/fail_compilation/fail11332.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
TEST_OUTPUT:
---
fail_compilation/fail11332.d(11): Error: cannot evaluate unimplemented builtin yl2x at compile time
---
*/

void test11332()
{
import core.math : yl2x;
static x = yl2x(0, 0);
// This tests that a un-implemented builtin correctly produces an error.
// Replace with a different builtin if you have just implemented support for yl2x.
}

0 comments on commit e2faabf

Please sign in to comment.