summaryrefslogtreecommitdiff
path: root/deps/v8/test/message
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2016-09-06 22:49:51 +0200
committerMichaël Zasso <targos@protonmail.com>2016-09-22 09:51:19 +0200
commitec02b811a8a5c999bab4de312be2d732b7d9d50b (patch)
treeca3068017254f238cf413a451c57a803572983a4 /deps/v8/test/message
parentd2eb7ce0105369a9cad82787cb33a665e9bd00ad (diff)
downloadandroid-node-v8-ec02b811a8a5c999bab4de312be2d732b7d9d50b.tar.gz
android-node-v8-ec02b811a8a5c999bab4de312be2d732b7d9d50b.tar.bz2
android-node-v8-ec02b811a8a5c999bab4de312be2d732b7d9d50b.zip
deps: update V8 to 5.4.500.27
Pick up latest commit from the 5.4-lkgr branch. deps: edit V8 gitignore to allow trace event copy deps: update V8 trace event to 315bf1e2d45be7d53346c31cfcc37424a32c30c8 deps: edit V8 gitignore to allow gtest_prod.h copy deps: update V8 gtest to 6f8a66431cb592dad629028a50b3dd418a408c87 PR-URL: https://github.com/nodejs/node/pull/8317 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/test/message')
-rw-r--r--deps/v8/test/message/const-decl-no-init-sloppy.js9
-rw-r--r--deps/v8/test/message/generators-throw1.js7
-rw-r--r--deps/v8/test/message/generators-throw1.out3
-rw-r--r--deps/v8/test/message/generators-throw2.js9
-rw-r--r--deps/v8/test/message/generators-throw2.out3
-rw-r--r--deps/v8/test/message/instanceof-noncallable.js2
-rw-r--r--deps/v8/test/message/instanceof-nonobject.js2
-rw-r--r--deps/v8/test/message/let-lexical-name-in-array-prohibited.js2
-rw-r--r--deps/v8/test/message/let-lexical-name-in-object-prohibited.js2
-rw-r--r--deps/v8/test/message/let-lexical-name-prohibited.js2
-rw-r--r--deps/v8/test/message/message.gyp4
-rw-r--r--deps/v8/test/message/message.status2
-rw-r--r--deps/v8/test/message/no-legacy-const-2.js8
-rw-r--r--deps/v8/test/message/no-legacy-const-2.out5
-rw-r--r--deps/v8/test/message/no-legacy-const-3.js8
-rw-r--r--deps/v8/test/message/no-legacy-const-3.out5
-rw-r--r--deps/v8/test/message/no-legacy-const.js8
-rw-r--r--deps/v8/test/message/no-legacy-const.out5
-rw-r--r--deps/v8/test/message/paren_in_arg_string.out1
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-binop-lhs.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-binop-lhs.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-binop-rhs.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-binop-rhs.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-comma.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-comma.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-extends.js10
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-extends.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-for-in.js16
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-for-in.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-for-of.js16
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-for-of.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-logical-and.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-logical-and.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-logical-or.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-logical-or.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-subclass.js15
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-subclass.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.js20
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.js22
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try.js17
-rw-r--r--deps/v8/test/message/syntactic-tail-call-in-try.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-inside-member-expr.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-inside-member-expr.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-eval.js9
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-eval.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-identifier.js10
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-identifier.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-new.js13
-rw-r--r--deps/v8/test/message/syntactic-tail-call-of-new.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-sloppy.js9
-rw-r--r--deps/v8/test/message/syntactic-tail-call-sloppy.out4
-rw-r--r--deps/v8/test/message/syntactic-tail-call-without-return.js14
-rw-r--r--deps/v8/test/message/syntactic-tail-call-without-return.out4
-rw-r--r--deps/v8/test/message/testcfg.py8
56 files changed, 358 insertions, 64 deletions
diff --git a/deps/v8/test/message/const-decl-no-init-sloppy.js b/deps/v8/test/message/const-decl-no-init-sloppy.js
deleted file mode 100644
index a122eae182..0000000000
--- a/deps/v8/test/message/const-decl-no-init-sloppy.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2015 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Flags: --harmony-sloppy
-
-function f() {
- const a;
-}
diff --git a/deps/v8/test/message/generators-throw1.js b/deps/v8/test/message/generators-throw1.js
new file mode 100644
index 0000000000..b4d404a1bf
--- /dev/null
+++ b/deps/v8/test/message/generators-throw1.js
@@ -0,0 +1,7 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function* f() { yield }
+
+f().throw(42);
diff --git a/deps/v8/test/message/generators-throw1.out b/deps/v8/test/message/generators-throw1.out
new file mode 100644
index 0000000000..1e78e8834f
--- /dev/null
+++ b/deps/v8/test/message/generators-throw1.out
@@ -0,0 +1,3 @@
+*%(basename)s:5: 42
+function* f() { yield }
+ ^
diff --git a/deps/v8/test/message/generators-throw2.js b/deps/v8/test/message/generators-throw2.js
new file mode 100644
index 0000000000..7207755427
--- /dev/null
+++ b/deps/v8/test/message/generators-throw2.js
@@ -0,0 +1,9 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function* f() { yield }
+
+let g = f();
+g.next();
+g.throw(42);
diff --git a/deps/v8/test/message/generators-throw2.out b/deps/v8/test/message/generators-throw2.out
new file mode 100644
index 0000000000..3f23814f8b
--- /dev/null
+++ b/deps/v8/test/message/generators-throw2.out
@@ -0,0 +1,3 @@
+*%(basename)s:5: 42
+function* f() { yield }
+ ^
diff --git a/deps/v8/test/message/instanceof-noncallable.js b/deps/v8/test/message/instanceof-noncallable.js
index 571a2b0c76..d82b416e68 100644
--- a/deps/v8/test/message/instanceof-noncallable.js
+++ b/deps/v8/test/message/instanceof-noncallable.js
@@ -25,6 +25,6 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --harmony-instanceof
+
1 instanceof {};
diff --git a/deps/v8/test/message/instanceof-nonobject.js b/deps/v8/test/message/instanceof-nonobject.js
index 47152571a1..ef8e0ae2e4 100644
--- a/deps/v8/test/message/instanceof-nonobject.js
+++ b/deps/v8/test/message/instanceof-nonobject.js
@@ -25,6 +25,6 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --harmony-instanceof
+
1 instanceof 2;
diff --git a/deps/v8/test/message/let-lexical-name-in-array-prohibited.js b/deps/v8/test/message/let-lexical-name-in-array-prohibited.js
index a6cba6fc30..e5e37e11aa 100644
--- a/deps/v8/test/message/let-lexical-name-in-array-prohibited.js
+++ b/deps/v8/test/message/let-lexical-name-in-array-prohibited.js
@@ -2,6 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
-// Flags: --harmony-sloppy --harmony-sloppy-let
+//
let [let];
diff --git a/deps/v8/test/message/let-lexical-name-in-object-prohibited.js b/deps/v8/test/message/let-lexical-name-in-object-prohibited.js
index 0a12762ec3..4e26c62ad6 100644
--- a/deps/v8/test/message/let-lexical-name-in-object-prohibited.js
+++ b/deps/v8/test/message/let-lexical-name-in-object-prohibited.js
@@ -2,6 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
-// Flags: --harmony-sloppy --harmony-sloppy-let
+//
let {let};
diff --git a/deps/v8/test/message/let-lexical-name-prohibited.js b/deps/v8/test/message/let-lexical-name-prohibited.js
index ed72faed8e..b001be877c 100644
--- a/deps/v8/test/message/let-lexical-name-prohibited.js
+++ b/deps/v8/test/message/let-lexical-name-prohibited.js
@@ -2,6 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
-// Flags: --harmony-sloppy --harmony-sloppy-let
+//
let let;
diff --git a/deps/v8/test/message/message.gyp b/deps/v8/test/message/message.gyp
index dac6d9ffff..fc1ae32f4e 100644
--- a/deps/v8/test/message/message.gyp
+++ b/deps/v8/test/message/message.gyp
@@ -13,8 +13,8 @@
'../../src/d8.gyp:d8_run',
],
'includes': [
- '../../build/features.gypi',
- '../../build/isolate.gypi',
+ '../../gypfiles/features.gypi',
+ '../../gypfiles/isolate.gypi',
],
'sources': [
'message.isolate',
diff --git a/deps/v8/test/message/message.status b/deps/v8/test/message/message.status
index 051911c6a9..e4db83db09 100644
--- a/deps/v8/test/message/message.status
+++ b/deps/v8/test/message/message.status
@@ -27,8 +27,6 @@
[
[ALWAYS, {
- # All tests in the bug directory are expected to fail.
- 'bugs/*': [FAIL],
# We don't parse RegExps at scanning time, so we can't fail on octal
# escapes (we need to parse to distinguish octal escapes from valid
# back-references).
diff --git a/deps/v8/test/message/no-legacy-const-2.js b/deps/v8/test/message/no-legacy-const-2.js
deleted file mode 100644
index 5dc63b3cb5..0000000000
--- a/deps/v8/test/message/no-legacy-const-2.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2015 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Flags: --no-harmony-sloppy --no-harmony-sloppy-let
-// Flags: --no-harmony-sloppy-function
-
-const = 42;
diff --git a/deps/v8/test/message/no-legacy-const-2.out b/deps/v8/test/message/no-legacy-const-2.out
deleted file mode 100644
index 5385250aaf..0000000000
--- a/deps/v8/test/message/no-legacy-const-2.out
+++ /dev/null
@@ -1,5 +0,0 @@
-*%(basename)s:8: SyntaxError: Unexpected token const
-const = 42;
-^^^^^
-
-SyntaxError: Unexpected token const
diff --git a/deps/v8/test/message/no-legacy-const-3.js b/deps/v8/test/message/no-legacy-const-3.js
deleted file mode 100644
index 43dd9c9d71..0000000000
--- a/deps/v8/test/message/no-legacy-const-3.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2015 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Flags: --no-harmony-sloppy --no-harmony-sloppy-let
-// Flags: --no-harmony-sloppy-function
-
-const
diff --git a/deps/v8/test/message/no-legacy-const-3.out b/deps/v8/test/message/no-legacy-const-3.out
deleted file mode 100644
index 7539bbcd1d..0000000000
--- a/deps/v8/test/message/no-legacy-const-3.out
+++ /dev/null
@@ -1,5 +0,0 @@
-*%(basename)s:8: SyntaxError: Unexpected token const
-const
-^^^^^
-
-SyntaxError: Unexpected token const
diff --git a/deps/v8/test/message/no-legacy-const.js b/deps/v8/test/message/no-legacy-const.js
deleted file mode 100644
index 9eebee59bf..0000000000
--- a/deps/v8/test/message/no-legacy-const.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2015 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Flags: --no-harmony-sloppy --no-harmony-sloppy-let
-// Flags: --no-harmony-sloppy-function
-
-const x = 42;
diff --git a/deps/v8/test/message/no-legacy-const.out b/deps/v8/test/message/no-legacy-const.out
deleted file mode 100644
index 33bb038836..0000000000
--- a/deps/v8/test/message/no-legacy-const.out
+++ /dev/null
@@ -1,5 +0,0 @@
-*%(basename)s:8: SyntaxError: Unexpected token const
-const x = 42;
-^^^^^
-
-SyntaxError: Unexpected token const
diff --git a/deps/v8/test/message/paren_in_arg_string.out b/deps/v8/test/message/paren_in_arg_string.out
index 57adf58bcd..9784712ab8 100644
--- a/deps/v8/test/message/paren_in_arg_string.out
+++ b/deps/v8/test/message/paren_in_arg_string.out
@@ -2,4 +2,5 @@
var paren_in_arg_string_bad = new Function(')', 'return;');
^
SyntaxError: Function arg string contains parenthesis
+ at new Function (<anonymous>)
at *%(basename)s:29:31
diff --git a/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.js b/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.js
new file mode 100644
index 0000000000..58d4c957ac
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return continue f() - a ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.out b/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.out
new file mode 100644
index 0000000000..14670cd280
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-binop-lhs.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return continue f() - a ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.js b/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.js
new file mode 100644
index 0000000000..a586cc84ee
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return b + continue f() ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.out b/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.out
new file mode 100644
index 0000000000..207c526e2f
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-binop-rhs.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return b + continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-comma.js b/deps/v8/test/message/syntactic-tail-call-in-comma.js
new file mode 100644
index 0000000000..402a4a8f7d
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-comma.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return 1, 2, 3, continue f() , 4 ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-comma.out b/deps/v8/test/message/syntactic-tail-call-in-comma.out
new file mode 100644
index 0000000000..c4ecc28c97
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-comma.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return 1, 2, 3, continue f() , 4 ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-extends.js b/deps/v8/test/message/syntactic-tail-call-in-extends.js
new file mode 100644
index 0000000000..86bf77ebbe
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-extends.js
@@ -0,0 +1,10 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function g() {
+ return class A extends continue f() {};
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-extends.out b/deps/v8/test/message/syntactic-tail-call-in-extends.out
new file mode 100644
index 0000000000..f54155d2b5
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-extends.out
@@ -0,0 +1,4 @@
+*%(basename)s:9: SyntaxError: Tail call expression is not allowed here
+ return class A extends continue f() {};
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-for-in.js b/deps/v8/test/message/syntactic-tail-call-in-for-in.js
new file mode 100644
index 0000000000..8ad7aca54a
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-for-in.js
@@ -0,0 +1,16 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ for (var v in {a:0}) {
+ return continue f() ;
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-for-in.out b/deps/v8/test/message/syntactic-tail-call-in-for-in.out
new file mode 100644
index 0000000000..1bf52c48cb
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-for-in.out
@@ -0,0 +1,4 @@
+*%(basename)s:14: SyntaxError: Tail call expression in for-in/of body
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression in for-in/of body
diff --git a/deps/v8/test/message/syntactic-tail-call-in-for-of.js b/deps/v8/test/message/syntactic-tail-call-in-for-of.js
new file mode 100644
index 0000000000..7cd761f38e
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-for-of.js
@@ -0,0 +1,16 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ for (var v of [1, 2, 3]) {
+ return continue f() ;
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-for-of.out b/deps/v8/test/message/syntactic-tail-call-in-for-of.out
new file mode 100644
index 0000000000..1bf52c48cb
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-for-of.out
@@ -0,0 +1,4 @@
+*%(basename)s:14: SyntaxError: Tail call expression in for-in/of body
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression in for-in/of body
diff --git a/deps/v8/test/message/syntactic-tail-call-in-logical-and.js b/deps/v8/test/message/syntactic-tail-call-in-logical-and.js
new file mode 100644
index 0000000000..2c62ddcb21
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-logical-and.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return continue f() && a ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-logical-and.out b/deps/v8/test/message/syntactic-tail-call-in-logical-and.out
new file mode 100644
index 0000000000..c400f74628
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-logical-and.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return continue f() && a ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-logical-or.js b/deps/v8/test/message/syntactic-tail-call-in-logical-or.js
new file mode 100644
index 0000000000..6829bc629a
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-logical-or.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return continue f() || a ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-logical-or.out b/deps/v8/test/message/syntactic-tail-call-in-logical-or.out
new file mode 100644
index 0000000000..4ced76118a
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-logical-or.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return continue f() || a ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-subclass.js b/deps/v8/test/message/syntactic-tail-call-in-subclass.js
new file mode 100644
index 0000000000..ab788406d2
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-subclass.js
@@ -0,0 +1,15 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function g() {
+ class A {};
+ class B extends A {
+ constructor() {
+ return continue f() ;
+ }
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-subclass.out b/deps/v8/test/message/syntactic-tail-call-in-subclass.out
new file mode 100644
index 0000000000..fff26cc59b
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-subclass.out
@@ -0,0 +1,4 @@
+*%(basename)s:12: SyntaxError: Tail call expression is not allowed here
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.js b/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.js
new file mode 100644
index 0000000000..3aa35a12b4
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.js
@@ -0,0 +1,20 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ try {
+ f();
+ } catch(e) {
+ return continue f() ;
+ } finally {
+ f();
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.out b/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.out
new file mode 100644
index 0000000000..b488c15af2
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try-catch-finally.out
@@ -0,0 +1,4 @@
+*%(basename)s:16: SyntaxError: Tail call expression in catch block when finally block is also present
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression in catch block when finally block is also present
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.js b/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.js
new file mode 100644
index 0000000000..5b000f1181
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.js
@@ -0,0 +1,22 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ try {
+ try {
+ f();
+ } catch(e) {
+ return continue f() ;
+ }
+ } finally {
+ f();
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.out b/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.out
new file mode 100644
index 0000000000..bfc2692a27
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try-try-catch-finally.out
@@ -0,0 +1,4 @@
+*%(basename)s:17: SyntaxError: Tail call expression in try block
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression in try block
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try.js b/deps/v8/test/message/syntactic-tail-call-in-try.js
new file mode 100644
index 0000000000..71662db877
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try.js
@@ -0,0 +1,17 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ try {
+ return continue f() ;
+ } catch(e) {
+ }
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-in-try.out b/deps/v8/test/message/syntactic-tail-call-in-try.out
new file mode 100644
index 0000000000..ed0b15cc61
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-in-try.out
@@ -0,0 +1,4 @@
+*%(basename)s:14: SyntaxError: Tail call expression in try block
+ return continue f() ;
+ ^^^^^^^^^^^^
+SyntaxError: Tail call expression in try block
diff --git a/deps/v8/test/message/syntactic-tail-call-inside-member-expr.js b/deps/v8/test/message/syntactic-tail-call-inside-member-expr.js
new file mode 100644
index 0000000000..9b85dd42bb
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-inside-member-expr.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return (continue f(1)) (2) ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-inside-member-expr.out b/deps/v8/test/message/syntactic-tail-call-inside-member-expr.out
new file mode 100644
index 0000000000..10fd54db5d
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-inside-member-expr.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ return (continue f(1)) (2) ;
+ ^^^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/syntactic-tail-call-of-eval.js b/deps/v8/test/message/syntactic-tail-call-of-eval.js
new file mode 100644
index 0000000000..e69aa9c351
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-eval.js
@@ -0,0 +1,9 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+
+function g() {
+ return continue eval ("f()") ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-of-eval.out b/deps/v8/test/message/syntactic-tail-call-of-eval.out
new file mode 100644
index 0000000000..06eeb78baf
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-eval.out
@@ -0,0 +1,4 @@
+*%(basename)s:8: SyntaxError: Tail call of a direct eval is not allowed
+ return continue eval ("f()") ;
+ ^^^^^^^^^^^^^
+SyntaxError: Tail call of a direct eval is not allowed
diff --git a/deps/v8/test/message/syntactic-tail-call-of-identifier.js b/deps/v8/test/message/syntactic-tail-call-of-identifier.js
new file mode 100644
index 0000000000..b3ca31df01
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-identifier.js
@@ -0,0 +1,10 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function g(x) {
+ return continue x ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-of-identifier.out b/deps/v8/test/message/syntactic-tail-call-of-identifier.out
new file mode 100644
index 0000000000..393bbc657c
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-identifier.out
@@ -0,0 +1,4 @@
+*%(basename)s:9: SyntaxError: Unexpected expression inside tail call
+ return continue x ;
+ ^
+SyntaxError: Unexpected expression inside tail call
diff --git a/deps/v8/test/message/syntactic-tail-call-of-new.js b/deps/v8/test/message/syntactic-tail-call-of-new.js
new file mode 100644
index 0000000000..60adec7027
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-new.js
@@ -0,0 +1,13 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+
+function f() {
+ return 1;
+}
+
+function g() {
+ return continue new f() ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-of-new.out b/deps/v8/test/message/syntactic-tail-call-of-new.out
new file mode 100644
index 0000000000..954e1ca0ec
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-of-new.out
@@ -0,0 +1,4 @@
+*%(basename)s:12: SyntaxError: Unexpected expression inside tail call
+ return continue new f() ;
+ ^^^^^^^
+SyntaxError: Unexpected expression inside tail call
diff --git a/deps/v8/test/message/syntactic-tail-call-sloppy.js b/deps/v8/test/message/syntactic-tail-call-sloppy.js
new file mode 100644
index 0000000000..3973fc6d18
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-sloppy.js
@@ -0,0 +1,9 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+
+function g() {
+ return continue f() ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-sloppy.out b/deps/v8/test/message/syntactic-tail-call-sloppy.out
new file mode 100644
index 0000000000..74d9d53bb4
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-sloppy.out
@@ -0,0 +1,4 @@
+*%(basename)s:8: SyntaxError: Tail call expressions are not allowed in non-strict mode
+ return continue f() ;
+ ^^^^^^^^^^^^^
+SyntaxError: Tail call expressions are not allowed in non-strict mode
diff --git a/deps/v8/test/message/syntactic-tail-call-without-return.js b/deps/v8/test/message/syntactic-tail-call-without-return.js
new file mode 100644
index 0000000000..130f67dafc
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-without-return.js
@@ -0,0 +1,14 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --harmony-explicit-tailcalls
+"use strict";
+
+function f() {
+ return 1;
+}
+
+function g() {
+ var x = continue f() ;
+}
diff --git a/deps/v8/test/message/syntactic-tail-call-without-return.out b/deps/v8/test/message/syntactic-tail-call-without-return.out
new file mode 100644
index 0000000000..0508fc3378
--- /dev/null
+++ b/deps/v8/test/message/syntactic-tail-call-without-return.out
@@ -0,0 +1,4 @@
+*%(basename)s:13: SyntaxError: Tail call expression is not allowed here
+ var x = continue f() ;
+ ^^^^^^^^^^^^^
+SyntaxError: Tail call expression is not allowed here
diff --git a/deps/v8/test/message/testcfg.py b/deps/v8/test/message/testcfg.py
index 577b476637..620328e90d 100644
--- a/deps/v8/test/message/testcfg.py
+++ b/deps/v8/test/message/testcfg.py
@@ -86,13 +86,7 @@ class MessageTestSuite(testsuite.TestSuite):
if not string: return True
if not string.strip(): return True
return (string.startswith("==") or string.startswith("**") or
- string.startswith("ANDROID") or
- # These five patterns appear in normal Native Client output.
- string.startswith("DEBUG MODE ENABLED") or
- string.startswith("tools/nacl-run.py") or
- string.find("BYPASSING ALL ACL CHECKS") > 0 or
- string.find("Native Client module will be loaded") > 0 or
- string.find("NaClHostDescOpen:") > 0)
+ string.startswith("ANDROID"))
def IsFailureOutput(self, testcase):
output = testcase.output