Index: src/parsing/parser.cc |
diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc |
index 901e49d0b0237dd5594a58a9eaeb49ae4d1f7fb2..4a355a42f85abd5bb84ec8b6e8d2eed321fdba46 100644 |
--- a/src/parsing/parser.cc |
+++ b/src/parsing/parser.cc |
@@ -1480,6 +1480,10 @@ Statement* Parser::DeclareFunction(const AstRawString* variable_name, |
bool* ok) { |
VariableProxy* proxy = |
factory()->NewVariableProxy(variable_name, NORMAL_VARIABLE); |
+ |
+ DeclarationScope* target_scope = GetDeclarationScope(); |
+ MarkTopLevelVariableAsAssigned(target_scope, proxy); |
+ |
Declaration* declaration = |
factory()->NewFunctionDeclaration(proxy, function, scope(), pos); |
Declare(declaration, DeclarationDescriptor::NORMAL, mode, kCreatedInitialized, |
@@ -1488,7 +1492,6 @@ Statement* Parser::DeclareFunction(const AstRawString* variable_name, |
if (is_sloppy_block_function) { |
SloppyBlockFunctionStatement* statement = |
factory()->NewSloppyBlockFunctionStatement(); |
- DeclarationScope* target_scope = GetDeclarationScope(); |
target_scope->DeclareSloppyBlockFunction(variable_name, scope(), statement); |
return statement; |
} |