// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: undefined is not a keyword
es5id: 8.1_A3
description: Create variable named undefined
flags: [noStrict]
---*/

//////////////////////////////////////////////////////////
// CHECK1#
var undefined = 1;
//
//////////////////////////////////////////////////////////
