| Index: test/cctest/asmjs/test-typing-asm.cc
|
| diff --git a/test/cctest/test-asm-validator.cc b/test/cctest/asmjs/test-typing-asm.cc
|
| similarity index 99%
|
| rename from test/cctest/test-asm-validator.cc
|
| rename to test/cctest/asmjs/test-typing-asm.cc
|
| index cf9e6ef62df7ff8272a6037eb44f9a7f273d33a1..7ff268a12f1719b5e73a546503d4bffe8a0310ff 100644
|
| --- a/test/cctest/test-asm-validator.cc
|
| +++ b/test/cctest/asmjs/test-typing-asm.cc
|
| @@ -81,7 +81,6 @@ std::string Validate(Zone* zone, const char* source,
|
|
|
| } // namespace
|
|
|
| -
|
| TEST(ValidateMinimum) {
|
| const char test_function[] =
|
| "function GeometricMean(stdlib, foreign, buffer) {\n"
|
| @@ -307,7 +306,6 @@ TEST(ValidateMinimum) {
|
| CHECK_TYPES_END
|
| }
|
|
|
| -
|
| TEST(MissingUseAsm) {
|
| const char test_function[] =
|
| "function foo() {\n"
|
| @@ -322,7 +320,6 @@ TEST(MissingUseAsm) {
|
| Validate(zone, test_function, &types));
|
| }
|
|
|
| -
|
| TEST(WrongUseAsm) {
|
| const char test_function[] =
|
| "function foo() {\n"
|
| @@ -338,7 +335,6 @@ TEST(WrongUseAsm) {
|
| Validate(zone, test_function, &types));
|
| }
|
|
|
| -
|
| TEST(MissingReturnExports) {
|
| const char test_function[] =
|
| "function foo() {\n"
|
| @@ -414,7 +410,6 @@ TEST(MissingReturnExports) {
|
| } \
|
| }
|
|
|
| -
|
| #define CHECK_VAR_SHORTCUT(name, type) \
|
| CHECK_EXPR(Assignment, type) { \
|
| CHECK_VAR(name, type); \
|
| @@ -424,7 +419,6 @@ TEST(MissingReturnExports) {
|
| } \
|
| }
|
|
|
| -
|
| #define CHECK_VAR_NEW_SHORTCUT(name, type) \
|
| CHECK_EXPR(Assignment, type) { \
|
| CHECK_VAR(name, type); \
|
| @@ -437,7 +431,6 @@ TEST(MissingReturnExports) {
|
| } \
|
| }
|
|
|
| -
|
| namespace {
|
|
|
| void CheckStdlibShortcuts1(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
| @@ -470,7 +463,6 @@ void CheckStdlibShortcuts1(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
| CHECK_VAR_MATH_SHORTCUT(fround, FUNC_N2F_TYPE);
|
| }
|
|
|
| -
|
| void CheckStdlibShortcuts2(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
| size_t& index, int& depth, TypeCache& cache) {
|
| // var exp = stdlib.Math.*; (D * 12)
|
| @@ -495,7 +487,6 @@ void CheckStdlibShortcuts2(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
|
|
| } // namespace
|
|
|
| -
|
| #define CHECK_FUNC_TYPES_BEGIN(func) \
|
| HARNESS_PREAMBLE() \
|
| func "\n" HARNESS_POSTAMBLE(); \
|
| @@ -526,12 +517,10 @@ void CheckStdlibShortcuts2(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
| } \
|
| CHECK_TYPES_END
|
|
|
| -
|
| #define CHECK_FUNC_TYPES_END \
|
| CHECK_FUNC_TYPES_END_1(); \
|
| CHECK_FUNC_TYPES_END_2();
|
|
|
| -
|
| #define CHECK_FUNC_ERROR(func, message) \
|
| HARNESS_PREAMBLE() \
|
| func "\n" HARNESS_POSTAMBLE(); \
|
| @@ -542,7 +531,6 @@ void CheckStdlibShortcuts2(Zone* zone, ZoneVector<ExpressionTypeEntry>& types,
|
| ZoneVector<ExpressionTypeEntry> types(zone); \
|
| CHECK_EQ(message, Validate(zone, test_function, &types));
|
|
|
| -
|
| TEST(BareHarness) {
|
| CHECK_FUNC_TYPES_BEGIN("function foo() {}") {
|
| CHECK_EXPR(FunctionLiteral, FUNC_V_TYPE) {}
|
| @@ -550,7 +538,6 @@ TEST(BareHarness) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(ReturnVoid) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { return; }\n"
|
| @@ -568,7 +555,6 @@ TEST(ReturnVoid) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(EmptyBody) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { }\n"
|
| @@ -583,7 +569,6 @@ TEST(EmptyBody) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(DoesNothing) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1.0; }\n"
|
| @@ -603,7 +588,6 @@ TEST(DoesNothing) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(ReturnInt32Literal) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { return 1; }\n"
|
| @@ -621,7 +605,6 @@ TEST(ReturnInt32Literal) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(ReturnFloat64Literal) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { return 1.0; }\n"
|
| @@ -639,7 +622,6 @@ TEST(ReturnFloat64Literal) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(ReturnFloat32Literal) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { return fround(1.0); }\n"
|
| @@ -658,7 +640,6 @@ TEST(ReturnFloat32Literal) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(ReturnFloat64Var) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1.0; return +x; }\n"
|
| @@ -684,7 +665,6 @@ TEST(ReturnFloat64Var) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(Addition2) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 2; return (x+y)|0; }\n"
|
| @@ -711,7 +691,6 @@ TEST(Addition2) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| #define TEST_COMPARE_OP(name, op) \
|
| TEST(name) { \
|
| CHECK_FUNC_TYPES_BEGIN("function bar() { return (0 " op \
|
| @@ -731,14 +710,12 @@ TEST(Addition2) {
|
| CHECK_FUNC_TYPES_END \
|
| }
|
|
|
| -
|
| TEST_COMPARE_OP(EqOperator, "==")
|
| TEST_COMPARE_OP(LtOperator, "<")
|
| TEST_COMPARE_OP(LteOperator, "<=")
|
| TEST_COMPARE_OP(GtOperator, ">")
|
| TEST_COMPARE_OP(GteOperator, ">=")
|
|
|
| -
|
| TEST(NeqOperator) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { return (0 != 0)|0; }\n"
|
| @@ -759,7 +736,6 @@ TEST(NeqOperator) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(NotOperator) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 0; return (!x)|0; }\n"
|
| @@ -781,7 +757,6 @@ TEST(NotOperator) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(InvertOperator) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 0; return (~x)|0; }\n"
|
| @@ -804,7 +779,6 @@ TEST(InvertOperator) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(InvertConversion) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 0.0; return (~~x)|0; }\n"
|
| @@ -830,7 +804,6 @@ TEST(InvertConversion) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(Ternary) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return (x?y:5)|0; }\n"
|
| @@ -858,7 +831,6 @@ TEST(Ternary) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| #define TEST_INT_BIN_OP(name, op) \
|
| TEST(name) { \
|
| CHECK_FUNC_TYPES_BEGIN("function bar() { var x = 0; return (x " op \
|
| @@ -882,12 +854,10 @@ TEST(Ternary) {
|
| CHECK_FUNC_TYPES_END \
|
| }
|
|
|
| -
|
| TEST_INT_BIN_OP(AndOperator, "&")
|
| TEST_INT_BIN_OP(OrOperator, "|")
|
| TEST_INT_BIN_OP(XorOperator, "^")
|
|
|
| -
|
| TEST(SignedCompare) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x|0) < (y|0))|0; }\n"
|
| @@ -920,7 +890,6 @@ TEST(SignedCompare) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(SignedCompareConst) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x|0) < (1<<31))|0; }\n"
|
| @@ -950,7 +919,6 @@ TEST(SignedCompareConst) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(UnsignedCompare) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x>>>0) < (y>>>0))|0; }\n"
|
| @@ -983,7 +951,6 @@ TEST(UnsignedCompare) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(UnsignedCompareConst0) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x>>>0) < (0>>>0))|0; }\n"
|
| @@ -1013,7 +980,6 @@ TEST(UnsignedCompareConst0) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(UnsignedCompareConst1) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x>>>0) < "
|
| @@ -1044,7 +1010,6 @@ TEST(UnsignedCompareConst1) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(UnsignedDivide) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 1; return ((x>>>0) / (y>>>0))|0; }\n"
|
| @@ -1077,7 +1042,6 @@ TEST(UnsignedDivide) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(UnsignedFromFloat64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; return (x>>>0)|0; }\n"
|
| @@ -1085,7 +1049,6 @@ TEST(UnsignedFromFloat64) {
|
| "asm: line 1: left bitwise operand expected to be an integer\n");
|
| }
|
|
|
| -
|
| TEST(AndFloat64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; return (x&0)|0; }\n"
|
| @@ -1093,7 +1056,6 @@ TEST(AndFloat64) {
|
| "asm: line 1: left bitwise operand expected to be an integer\n");
|
| }
|
|
|
| -
|
| TEST(TypeMismatchAddInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; var y = 0; return (x + y)|0; }\n"
|
| @@ -1101,7 +1063,6 @@ TEST(TypeMismatchAddInt32Float64) {
|
| "asm: line 1: ill-typed arithmetic operation\n");
|
| }
|
|
|
| -
|
| TEST(TypeMismatchSubInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; var y = 0; return (x - y)|0; }\n"
|
| @@ -1109,7 +1070,6 @@ TEST(TypeMismatchSubInt32Float64) {
|
| "asm: line 1: ill-typed arithmetic operation\n");
|
| }
|
|
|
| -
|
| TEST(TypeMismatchDivInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; var y = 0; return (x / y)|0; }\n"
|
| @@ -1117,7 +1077,6 @@ TEST(TypeMismatchDivInt32Float64) {
|
| "asm: line 1: ill-typed arithmetic operation\n");
|
| }
|
|
|
| -
|
| TEST(TypeMismatchModInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1.0; var y = 0; return (x % y)|0; }\n"
|
| @@ -1125,7 +1084,6 @@ TEST(TypeMismatchModInt32Float64) {
|
| "asm: line 1: ill-typed arithmetic operation\n");
|
| }
|
|
|
| -
|
| TEST(ModFloat32) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = fround(1.0); return (x % x)|0; }\n"
|
| @@ -1133,7 +1091,6 @@ TEST(ModFloat32) {
|
| "asm: line 1: ill-typed arithmetic operation\n");
|
| }
|
|
|
| -
|
| TEST(TernaryMismatchInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 0.0; return (1 ? x : y)|0; }\n"
|
| @@ -1142,7 +1099,6 @@ TEST(TernaryMismatchInt32Float64) {
|
| "and be int, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(TernaryMismatchIntish) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 0; return (1 ? x + x : y)|0; }\n"
|
| @@ -1151,7 +1107,6 @@ TEST(TernaryMismatchIntish) {
|
| "and be int, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(TernaryMismatchInt32Float32) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2.0; return (x?fround(y):x)|0; }\n"
|
| @@ -1160,7 +1115,6 @@ TEST(TernaryMismatchInt32Float32) {
|
| "and be int, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(TernaryBadCondition) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2.0; return (y?x:1)|0; }\n"
|
| @@ -1308,7 +1262,6 @@ TEST(Addition4) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(Multiplication2) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2; return (x*y)|0; }\n"
|
| @@ -1316,7 +1269,6 @@ TEST(Multiplication2) {
|
| "asm: line 1: multiply must be by an integer literal\n");
|
| }
|
|
|
| -
|
| TEST(Division4) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2; return (x/y/x/y)|0; }\n"
|
| @@ -1357,7 +1309,6 @@ TEST(DivIntMismatch) {
|
| "must match and be signed or unsigned\n");
|
| }
|
|
|
| -
|
| TEST(CompareToStringLeft) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; return ('hi' > x)|0; }\n"
|
| @@ -1366,7 +1317,6 @@ TEST(CompareToStringLeft) {
|
| "and be signed, unsigned, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(CompareToStringRight) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; return (x < 'hi')|0; }\n"
|
| @@ -1375,7 +1325,6 @@ TEST(CompareToStringRight) {
|
| "and be signed, unsigned, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(CompareMismatchInt32Float64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2.0; return (x < y)|0; }\n"
|
| @@ -1384,7 +1333,6 @@ TEST(CompareMismatchInt32Float64) {
|
| "and be signed, unsigned, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(CompareMismatchInt32Uint32) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2; return ((x|0) < (y>>>0))|0; }\n"
|
| @@ -1393,7 +1341,6 @@ TEST(CompareMismatchInt32Uint32) {
|
| "and be signed, unsigned, float, or double\n");
|
| }
|
|
|
| -
|
| TEST(CompareMismatchInt32Float32) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 1; var y = 2.0; return (x < fround(y))|0; }\n"
|
| @@ -1438,7 +1385,6 @@ TEST(Float64ToInt32) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(Load1) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = i8[x>>0]|0; }\n"
|
| @@ -1467,7 +1413,6 @@ TEST(Load1) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(LoadDouble) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; var y = 0.0; y = +f64[x>>3]; }\n"
|
| @@ -1500,7 +1445,6 @@ TEST(LoadDouble) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(Store1) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 1; i8[x>>0] = 0; }\n"
|
| @@ -1526,7 +1470,6 @@ TEST(Store1) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(StoreFloat) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = fround(1.0); "
|
| @@ -1653,7 +1596,6 @@ TEST(Load1Constant) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(FunctionTables) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function func1(x) { x = x | 0; return (x * 5) | 0; }\n"
|
| @@ -1738,7 +1680,6 @@ TEST(FunctionTables) {
|
| CHECK_FUNC_TYPES_END_2();
|
| }
|
|
|
| -
|
| TEST(BadFunctionTable) {
|
| CHECK_FUNC_ERROR(
|
| "function func1(x) { x = x | 0; return (x * 5) | 0; }\n"
|
| @@ -1749,7 +1690,6 @@ TEST(BadFunctionTable) {
|
| "asm: line 2: array component expected to be a function\n");
|
| }
|
|
|
| -
|
| TEST(MissingParameterTypes) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { var y = 1; }\n"
|
| @@ -1757,7 +1697,6 @@ TEST(MissingParameterTypes) {
|
| "asm: line 1: missing parameter type annotations\n");
|
| }
|
|
|
| -
|
| TEST(InvalidTypeAnnotationBinaryOpDiv) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { x = x / 4; }\n"
|
| @@ -1765,7 +1704,6 @@ TEST(InvalidTypeAnnotationBinaryOpDiv) {
|
| "asm: line 1: invalid type annotation on binary op\n");
|
| }
|
|
|
| -
|
| TEST(InvalidTypeAnnotationBinaryOpMul) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { x = x * 4.0; }\n"
|
| @@ -1773,7 +1711,6 @@ TEST(InvalidTypeAnnotationBinaryOpMul) {
|
| "asm: line 1: invalid type annotation on binary op\n");
|
| }
|
|
|
| -
|
| TEST(InvalidArgumentCount) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { return fround(4, 5); }\n"
|
| @@ -1781,7 +1718,6 @@ TEST(InvalidArgumentCount) {
|
| "asm: line 1: invalid argument count calling function\n");
|
| }
|
|
|
| -
|
| TEST(InvalidTypeAnnotationArity) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { x = max(x); }\n"
|
| @@ -1789,7 +1725,6 @@ TEST(InvalidTypeAnnotationArity) {
|
| "asm: line 1: only fround allowed on expression annotations\n");
|
| }
|
|
|
| -
|
| TEST(InvalidTypeAnnotationOnlyFround) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { x = sin(x); }\n"
|
| @@ -1797,7 +1732,6 @@ TEST(InvalidTypeAnnotationOnlyFround) {
|
| "asm: line 1: only fround allowed on expression annotations\n");
|
| }
|
|
|
| -
|
| TEST(InvalidTypeAnnotation) {
|
| CHECK_FUNC_ERROR(
|
| "function bar(x) { x = (x+x)(x); }\n"
|
| @@ -1805,7 +1739,6 @@ TEST(InvalidTypeAnnotation) {
|
| "asm: line 1: invalid type annotation\n");
|
| }
|
|
|
| -
|
| TEST(WithStatement) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 0; with (x) { x = x + 1; } }\n"
|
| @@ -1813,7 +1746,6 @@ TEST(WithStatement) {
|
| "asm: line 1: bad with statement\n");
|
| }
|
|
|
| -
|
| TEST(NestedFunction) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { function x() { return 1; } }\n"
|
| @@ -1821,7 +1753,6 @@ TEST(NestedFunction) {
|
| "asm: line 1: function declared inside another\n");
|
| }
|
|
|
| -
|
| TEST(UnboundVariable) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = y; }\n"
|
| @@ -1829,7 +1760,6 @@ TEST(UnboundVariable) {
|
| "asm: line 1: unbound variable\n");
|
| }
|
|
|
| -
|
| TEST(EqStrict) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 === 0)|0; }\n"
|
| @@ -1837,7 +1767,6 @@ TEST(EqStrict) {
|
| "asm: line 1: illegal comparison operator\n");
|
| }
|
|
|
| -
|
| TEST(NeStrict) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 !== 0)|0; }\n"
|
| @@ -1845,7 +1774,6 @@ TEST(NeStrict) {
|
| "asm: line 1: illegal comparison operator\n");
|
| }
|
|
|
| -
|
| TEST(InstanceOf) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 instanceof 0)|0; }\n"
|
| @@ -1853,7 +1781,6 @@ TEST(InstanceOf) {
|
| "asm: line 1: illegal comparison operator\n");
|
| }
|
|
|
| -
|
| TEST(InOperator) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 in 0)|0; }\n"
|
| @@ -1861,7 +1788,6 @@ TEST(InOperator) {
|
| "asm: line 1: illegal comparison operator\n");
|
| }
|
|
|
| -
|
| TEST(LogicalAndOperator) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 && 0)|0; }\n"
|
| @@ -1869,7 +1795,6 @@ TEST(LogicalAndOperator) {
|
| "asm: line 1: illegal logical operator\n");
|
| }
|
|
|
| -
|
| TEST(LogicalOrOperator) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return (0 || 0)|0; }\n"
|
| @@ -1891,7 +1816,6 @@ TEST(BadLiteral) {
|
| "asm: line 1: illegal literal\n");
|
| }
|
|
|
| -
|
| TEST(MismatchedReturnTypeLiteral) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { if(1) { return 1; } return 1.0; }\n"
|
| @@ -1899,7 +1823,6 @@ TEST(MismatchedReturnTypeLiteral) {
|
| "asm: line 1: return type does not match function signature\n");
|
| }
|
|
|
| -
|
| TEST(MismatchedReturnTypeExpression) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() {\n"
|
| @@ -1908,7 +1831,6 @@ TEST(MismatchedReturnTypeExpression) {
|
| "asm: line 2: return type does not match function signature\n");
|
| }
|
|
|
| -
|
| TEST(AssignToFloatishToF64) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var v = fround(1.0); f64[0] = v + fround(1.0); }\n"
|
| @@ -1916,7 +1838,6 @@ TEST(AssignToFloatishToF64) {
|
| "asm: line 1: floatish assignment to double array\n");
|
| }
|
|
|
| -
|
| TEST(ForeignFunction) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "var baz = foreign.baz;\n"
|
| @@ -1986,7 +1907,6 @@ TEST(BadExports) {
|
| Validate(zone, test_function, &types));
|
| }
|
|
|
| -
|
| TEST(NestedHeapAssignment) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { var x = 0; i16[x = 1] = 2; }\n"
|
| @@ -2001,7 +1921,6 @@ TEST(BadOperatorHeapAssignment) {
|
| "asm: line 1: expected >> in heap access\n");
|
| }
|
|
|
| -
|
| TEST(BadArrayAssignment) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { i8[0] = 0.0; }\n"
|
| @@ -2009,7 +1928,6 @@ TEST(BadArrayAssignment) {
|
| "asm: line 1: illegal type in assignment\n");
|
| }
|
|
|
| -
|
| TEST(BadStandardFunctionCallOutside) {
|
| CHECK_FUNC_ERROR(
|
| "var s0 = sin(0);\n"
|
| @@ -2018,7 +1936,6 @@ TEST(BadStandardFunctionCallOutside) {
|
| "asm: line 1: illegal variable reference in module body\n");
|
| }
|
|
|
| -
|
| TEST(BadFunctionCallOutside) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { return 0.0; }\n"
|
| @@ -2064,7 +1981,6 @@ TEST(NestedVariableAssignment) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(NestedAssignmentInHeap) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = 0; i8[(x = 1) >> 0] = 2; }\n"
|
| @@ -2093,7 +2009,6 @@ TEST(NestedAssignmentInHeap) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(NegativeDouble) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = -123.2; }\n"
|
| @@ -2109,7 +2024,6 @@ TEST(NegativeDouble) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(NegativeInteger) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = -123; }\n"
|
| @@ -2125,7 +2039,6 @@ TEST(NegativeInteger) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(AbsFunction) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = -123.0; x = abs(x); }\n"
|
| @@ -2148,7 +2061,6 @@ TEST(AbsFunction) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(CeilFloat) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function bar() { var x = fround(3.1); x = ceil(x); }\n"
|
| @@ -2246,7 +2158,6 @@ TEST(TypeConsistency) {
|
| CHECK(!cache.kAsmDouble->Is(cache.kAsmFloat));
|
| }
|
|
|
| -
|
| TEST(SwitchTest) {
|
| CHECK_FUNC_TYPES_BEGIN(
|
| "function switcher(x) {\n"
|
| @@ -2292,7 +2203,6 @@ TEST(SwitchTest) {
|
| CHECK_FUNC_TYPES_END
|
| }
|
|
|
| -
|
| TEST(BadSwitchRange) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { switch (1) { case -1: case 0x7fffffff: } }\n"
|
| @@ -2300,7 +2210,6 @@ TEST(BadSwitchRange) {
|
| "asm: line 1: case range too large\n");
|
| }
|
|
|
| -
|
| TEST(DuplicateSwitchCase) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { switch (1) { case 0: case 0: } }\n"
|
| @@ -2308,7 +2217,6 @@ TEST(DuplicateSwitchCase) {
|
| "asm: line 1: duplicate case value\n");
|
| }
|
|
|
| -
|
| TEST(BadSwitchOrder) {
|
| CHECK_FUNC_ERROR(
|
| "function bar() { switch (1) { default: case 0: } }\n"
|
|
|