Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 89b5b10da965e0068fbfc66c42a30c2c4fd3e4ba..1cdcc3f66767c3af7c9ecd9107a18cdffb91e82f 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -2234,6 +2234,12 @@ ParserBase<Traits>::ParseTailCallExpression(ExpressionClassifier* classifier, |
*ok = false; |
return Traits::EmptyExpression(); |
} |
+ if (Traits::IsDirectEvalCall(expression)) { |
+ Scanner::Location sub_loc(sub_expression_pos, loc.end_pos); |
+ ReportMessageAt(sub_loc, MessageTemplate::kUnexpectedTailCallOfEval); |
+ *ok = false; |
+ return Traits::EmptyExpression(); |
+ } |
if (!is_strict(language_mode())) { |
ReportMessageAt(loc, MessageTemplate::kUnexpectedSloppyTailCall); |
*ok = false; |