diff options
-rw-r--r-- | AUTHORS | 9 | ||||
-rw-r--r-- | CONTRIBUTORS | 14 | ||||
-rw-r--r-- | Makefile | 16 | ||||
-rwxr-xr-x | scripts/build-d8.sh | 16 | ||||
-rwxr-xr-x | scripts/download-d8.sh | 16 | ||||
-rwxr-xr-x | scripts/upload-d8.sh | 16 | ||||
-rw-r--r-- | src/sexpr-wasm.c | 16 | ||||
-rw-r--r-- | src/wasm-binary-writer.c | 16 | ||||
-rw-r--r-- | src/wasm-check.c | 16 | ||||
-rw-r--r-- | src/wasm-common.h | 16 | ||||
-rw-r--r-- | src/wasm-internal.h | 16 | ||||
-rw-r--r-- | src/wasm-lexer.c | 471 | ||||
-rw-r--r-- | src/wasm-lexer.l | 16 | ||||
-rw-r--r-- | src/wasm-parser.c | 476 | ||||
-rw-r--r-- | src/wasm-parser.y | 16 | ||||
-rw-r--r-- | src/wasm-vector.c | 16 | ||||
-rw-r--r-- | src/wasm-vector.h | 16 | ||||
-rw-r--r-- | src/wasm-writer.c | 16 | ||||
-rw-r--r-- | src/wasm-writer.h | 16 | ||||
-rw-r--r-- | src/wasm.c | 16 | ||||
-rw-r--r-- | src/wasm.h | 16 | ||||
-rwxr-xr-x | test/run-d8.py | 15 | ||||
-rwxr-xr-x | test/run-tests.py | 18 | ||||
-rw-r--r-- | test/spec.js | 16 | ||||
-rw-r--r-- | test/wasm.js | 16 |
25 files changed, 815 insertions, 492 deletions
diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 6ca313d2..00000000 --- a/AUTHORS +++ /dev/null @@ -1,9 +0,0 @@ -# This is the official list of authors for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Names should be added to this file as: -# Name or Organization <email address> -# The email address is not required for organizations. - -Google Inc. diff --git a/CONTRIBUTORS b/CONTRIBUTORS deleted file mode 100644 index a049a130..00000000 --- a/CONTRIBUTORS +++ /dev/null @@ -1,14 +0,0 @@ -# People who have agreed to one of the CLAs and can contribute patches. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# -# https://developers.google.com/open-source/cla/individual -# https://developers.google.com/open-source/cla/corporate -# -# Names should be added to this file as: -# Name <email address> - -Ben Smith <binji@chromium.org> -Derek Schuff <dschuff@chromium.org> -Katelyn Gadd <kg@luminance.org> @@ -1,3 +1,19 @@ +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + .SUFFIXES: ALL = sexpr-wasm diff --git a/scripts/build-d8.sh b/scripts/build-d8.sh index 13b043d9..7fe095a4 100755 --- a/scripts/build-d8.sh +++ b/scripts/build-d8.sh @@ -1,4 +1,20 @@ #!/bin/bash +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + set -o nounset set -o errexit diff --git a/scripts/download-d8.sh b/scripts/download-d8.sh index 8e33e00d..bb9be513 100755 --- a/scripts/download-d8.sh +++ b/scripts/download-d8.sh @@ -1,4 +1,20 @@ #!/bin/bash +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + set -o nounset set -o errexit diff --git a/scripts/upload-d8.sh b/scripts/upload-d8.sh index 6d1b5efb..a964835a 100755 --- a/scripts/upload-d8.sh +++ b/scripts/upload-d8.sh @@ -1,4 +1,20 @@ #!/bin/bash +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + set -o nounset set -o errexit diff --git a/src/sexpr-wasm.c b/src/sexpr-wasm.c index 921e64a0..1941a565 100644 --- a/src/sexpr-wasm.c +++ b/src/sexpr-wasm.c @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include <assert.h> #include <getopt.h> #include <stdint.h> diff --git a/src/wasm-binary-writer.c b/src/wasm-binary-writer.c index ba0bac43..55a2ba4d 100644 --- a/src/wasm-binary-writer.c +++ b/src/wasm-binary-writer.c @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include <alloca.h> #include <assert.h> #include <math.h> diff --git a/src/wasm-check.c b/src/wasm-check.c index 2501fe0f..e7aaa6b7 100644 --- a/src/wasm-check.c +++ b/src/wasm-check.c @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include <assert.h> #include <memory.h> #include <stdarg.h> diff --git a/src/wasm-common.h b/src/wasm-common.h index 27aa3eb5..7043b3e3 100644 --- a/src/wasm-common.h +++ b/src/wasm-common.h @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #ifndef WASM_COMMON_H_ #define WASM_COMMON_H_ diff --git a/src/wasm-internal.h b/src/wasm-internal.h index 285b22ca..23c88ebf 100644 --- a/src/wasm-internal.h +++ b/src/wasm-internal.h @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #ifndef WASM_INTERNAL_H #define WASM_INTERNAL_H diff --git a/src/wasm-lexer.c b/src/wasm-lexer.c index 623e3738..104088c9 100644 --- a/src/wasm-lexer.c +++ b/src/wasm-lexer.c @@ -1180,7 +1180,22 @@ static yyconst flex_int32_t yy_rule_can_match_eol[219] = #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET #line 1 "src/wasm-lexer.l" -#line 2 "src/wasm-lexer.l" +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#line 18 "src/wasm-lexer.l" #include "wasm.h" #include "wasm-internal.h" #include "wasm-parser.h" @@ -1272,7 +1287,7 @@ typedef struct WasmScannerExtra { -#line 1276 "src/wasm-lexer.c" +#line 1291 "src/wasm-lexer.c" #define INITIAL 0 #define LINE_COMMENT 1 @@ -1556,10 +1571,10 @@ YY_DECL } { -#line 125 "src/wasm-lexer.l" +#line 141 "src/wasm-lexer.l" -#line 1563 "src/wasm-lexer.c" +#line 1578 "src/wasm-lexer.c" while ( 1 ) /* loops until end-of-file is reached */ { @@ -1630,1128 +1645,1128 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 127 "src/wasm-lexer.l" +#line 143 "src/wasm-lexer.l" { return TOK(LPAR); } YY_BREAK case 2: YY_RULE_SETUP -#line 128 "src/wasm-lexer.l" +#line 144 "src/wasm-lexer.l" { return TOK(RPAR); } YY_BREAK case 3: YY_RULE_SETUP -#line 129 "src/wasm-lexer.l" +#line 145 "src/wasm-lexer.l" { TEXT; return TOK(INT); } YY_BREAK case 4: YY_RULE_SETUP -#line 130 "src/wasm-lexer.l" +#line 146 "src/wasm-lexer.l" { TEXT; return TOK(FLOAT); } YY_BREAK case 5: YY_RULE_SETUP -#line 131 "src/wasm-lexer.l" +#line 147 "src/wasm-lexer.l" { TEXT; return TOK(TEXT); } YY_BREAK case 6: YY_RULE_SETUP -#line 132 "src/wasm-lexer.l" +#line 148 "src/wasm-lexer.l" { BEGIN(BAD_TEXT); } YY_BREAK case 7: YY_RULE_SETUP -#line 133 "src/wasm-lexer.l" +#line 149 "src/wasm-lexer.l" {} YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 134 "src/wasm-lexer.l" +#line 150 "src/wasm-lexer.l" { BEGIN(INITIAL); RESET_COLUMN(yyscanner); wasm_error(yylloc, &yyscanner, parser, "newline in string"); } YY_BREAK case YY_STATE_EOF(BAD_TEXT): -#line 138 "src/wasm-lexer.l" +#line 154 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "unexpected EOF"); return TOK(EOF); } YY_BREAK case 9: YY_RULE_SETUP -#line 141 "src/wasm-lexer.l" +#line 157 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "bad escape \"%.*s\"", yyleng, yytext); } YY_BREAK case 10: YY_RULE_SETUP -#line 143 "src/wasm-lexer.l" +#line 159 "src/wasm-lexer.l" { BEGIN(INITIAL); TEXT; return TOK(TEXT); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 144 "src/wasm-lexer.l" +#line 160 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "illegal character in string"); } YY_BREAK case 12: YY_RULE_SETUP -#line 146 "src/wasm-lexer.l" +#line 162 "src/wasm-lexer.l" { TYPE(I32); return TOK(VALUE_TYPE); } YY_BREAK case 13: YY_RULE_SETUP -#line 147 "src/wasm-lexer.l" +#line 163 "src/wasm-lexer.l" { TYPE(I64); return TOK(VALUE_TYPE); } YY_BREAK case 14: YY_RULE_SETUP -#line 148 "src/wasm-lexer.l" +#line 164 "src/wasm-lexer.l" { TYPE(F32); return TOK(VALUE_TYPE); } YY_BREAK case 15: YY_RULE_SETUP -#line 149 "src/wasm-lexer.l" +#line 165 "src/wasm-lexer.l" { TYPE(F64); return TOK(VALUE_TYPE); } YY_BREAK case 16: YY_RULE_SETUP -#line 150 "src/wasm-lexer.l" +#line 166 "src/wasm-lexer.l" { return TOK(NOP); } YY_BREAK case 17: YY_RULE_SETUP -#line 151 "src/wasm-lexer.l" +#line 167 "src/wasm-lexer.l" { return TOK(BLOCK); } YY_BREAK case 18: YY_RULE_SETUP -#line 152 "src/wasm-lexer.l" +#line 168 "src/wasm-lexer.l" { return TOK(IF); } YY_BREAK case 19: YY_RULE_SETUP -#line 153 "src/wasm-lexer.l" +#line 169 "src/wasm-lexer.l" { return TOK(IF_ELSE); } YY_BREAK case 20: YY_RULE_SETUP -#line 154 "src/wasm-lexer.l" +#line 170 "src/wasm-lexer.l" { return TOK(LOOP); } YY_BREAK case 21: YY_RULE_SETUP -#line 155 "src/wasm-lexer.l" +#line 171 "src/wasm-lexer.l" { return TOK(BR); } YY_BREAK case 22: YY_RULE_SETUP -#line 156 "src/wasm-lexer.l" +#line 172 "src/wasm-lexer.l" { return TOK(BR_IF); } YY_BREAK case 23: YY_RULE_SETUP -#line 157 "src/wasm-lexer.l" +#line 173 "src/wasm-lexer.l" { return TOK(TABLESWITCH); } YY_BREAK case 24: YY_RULE_SETUP -#line 158 "src/wasm-lexer.l" +#line 174 "src/wasm-lexer.l" { return TOK(CASE); } YY_BREAK case 25: YY_RULE_SETUP -#line 159 "src/wasm-lexer.l" +#line 175 "src/wasm-lexer.l" { return TOK(CALL); } YY_BREAK case 26: YY_RULE_SETUP -#line 160 "src/wasm-lexer.l" +#line 176 "src/wasm-lexer.l" { return TOK(CALL_IMPORT); } YY_BREAK case 27: YY_RULE_SETUP -#line 161 "src/wasm-lexer.l" +#line 177 "src/wasm-lexer.l" { return TOK(CALL_INDIRECT); } YY_BREAK case 28: YY_RULE_SETUP -#line 162 "src/wasm-lexer.l" +#line 178 "src/wasm-lexer.l" { return TOK(RETURN); } YY_BREAK case 29: YY_RULE_SETUP -#line 163 "src/wasm-lexer.l" +#line 179 "src/wasm-lexer.l" { return TOK(GET_LOCAL); } YY_BREAK case 30: YY_RULE_SETUP -#line 164 "src/wasm-lexer.l" +#line 180 "src/wasm-lexer.l" { return TOK(SET_LOCAL); } YY_BREAK case 31: YY_RULE_SETUP -#line 165 "src/wasm-lexer.l" +#line 181 "src/wasm-lexer.l" { MEMOP(I32, LOAD, 32); return TOK(LOAD); } YY_BREAK case 32: YY_RULE_SETUP -#line 166 "src/wasm-lexer.l" +#line 182 "src/wasm-lexer.l" { MEMOP(I64, LOAD, 64); return TOK(LOAD); } YY_BREAK case 33: YY_RULE_SETUP -#line 167 "src/wasm-lexer.l" +#line 183 "src/wasm-lexer.l" { MEMOP(F32, LOAD, 32); return TOK(LOAD); } YY_BREAK case 34: YY_RULE_SETUP -#line 168 "src/wasm-lexer.l" +#line 184 "src/wasm-lexer.l" { MEMOP(F64, LOAD, 64); return TOK(LOAD); } YY_BREAK case 35: YY_RULE_SETUP -#line 169 "src/wasm-lexer.l" +#line 185 "src/wasm-lexer.l" { MEMOP(I32, STORE, 32); return TOK(STORE); } YY_BREAK case 36: YY_RULE_SETUP -#line 170 "src/wasm-lexer.l" +#line 186 "src/wasm-lexer.l" { MEMOP(I64, STORE, 64); return TOK(STORE); } YY_BREAK case 37: YY_RULE_SETUP -#line 171 "src/wasm-lexer.l" +#line 187 "src/wasm-lexer.l" { MEMOP(F32, STORE, 32); return TOK(STORE); } YY_BREAK case 38: YY_RULE_SETUP -#line 172 "src/wasm-lexer.l" +#line 188 "src/wasm-lexer.l" { MEMOP(F64, STORE, 64); return TOK(STORE); } YY_BREAK case 39: YY_RULE_SETUP -#line 173 "src/wasm-lexer.l" +#line 189 "src/wasm-lexer.l" { MEMOPSIGN(I32, LOAD, 8, S); return TOK(LOAD); } YY_BREAK case 40: YY_RULE_SETUP -#line 174 "src/wasm-lexer.l" +#line 190 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 8, S); return TOK(LOAD); } YY_BREAK case 41: YY_RULE_SETUP -#line 175 "src/wasm-lexer.l" +#line 191 "src/wasm-lexer.l" { MEMOPSIGN(I32, LOAD, 8, U); return TOK(LOAD); } YY_BREAK case 42: YY_RULE_SETUP -#line 176 "src/wasm-lexer.l" +#line 192 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 8, U); return TOK(LOAD); } YY_BREAK case 43: YY_RULE_SETUP -#line 177 "src/wasm-lexer.l" +#line 193 "src/wasm-lexer.l" { MEMOPSIGN(I32, LOAD, 16, S); return TOK(LOAD); } YY_BREAK case 44: YY_RULE_SETUP -#line 178 "src/wasm-lexer.l" +#line 194 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 16, S); return TOK(LOAD); } YY_BREAK case 45: YY_RULE_SETUP -#line 179 "src/wasm-lexer.l" +#line 195 "src/wasm-lexer.l" { MEMOPSIGN(I32, LOAD, 16, U); return TOK(LOAD); } YY_BREAK case 46: YY_RULE_SETUP -#line 180 "src/wasm-lexer.l" +#line 196 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 16, U); return TOK(LOAD); } YY_BREAK case 47: YY_RULE_SETUP -#line 181 "src/wasm-lexer.l" +#line 197 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 32, S); return TOK(LOAD); } YY_BREAK case 48: YY_RULE_SETUP -#line 182 "src/wasm-lexer.l" +#line 198 "src/wasm-lexer.l" { MEMOPSIGN(I64, LOAD, 32, U); return TOK(LOAD); } YY_BREAK case 49: YY_RULE_SETUP -#line 183 "src/wasm-lexer.l" +#line 199 "src/wasm-lexer.l" { MEMOP(I32, STORE, 8); return TOK(STORE); } YY_BREAK case 50: YY_RULE_SETUP -#line 184 "src/wasm-lexer.l" +#line 200 "src/wasm-lexer.l" { MEMOP(I64, STORE, 8); return TOK(STORE); } YY_BREAK case 51: YY_RULE_SETUP -#line 185 "src/wasm-lexer.l" +#line 201 "src/wasm-lexer.l" { MEMOP(I32, STORE, 16); return TOK(STORE); } YY_BREAK case 52: YY_RULE_SETUP -#line 186 "src/wasm-lexer.l" +#line 202 "src/wasm-lexer.l" { MEMOP(I64, STORE, 16); return TOK(STORE); } YY_BREAK case 53: YY_RULE_SETUP -#line 187 "src/wasm-lexer.l" +#line 203 "src/wasm-lexer.l" { MEMOP(I64, STORE, 32); return TOK(STORE); } YY_BREAK case 54: YY_RULE_SETUP -#line 188 "src/wasm-lexer.l" +#line 204 "src/wasm-lexer.l" { TEXT_AT(7); return TOK(OFFSET); } YY_BREAK case 55: YY_RULE_SETUP -#line 189 "src/wasm-lexer.l" +#line 205 "src/wasm-lexer.l" { TEXT_AT(6); return TOK(ALIGN); } YY_BREAK case 56: YY_RULE_SETUP -#line 190 "src/wasm-lexer.l" +#line 206 "src/wasm-lexer.l" { TYPE(I32); return TOK(CONST); } YY_BREAK case 57: YY_RULE_SETUP -#line 191 "src/wasm-lexer.l" +#line 207 "src/wasm-lexer.l" { TYPE(I64); return TOK(CONST); } YY_BREAK case 58: YY_RULE_SETUP -#line 192 "src/wasm-lexer.l" +#line 208 "src/wasm-lexer.l" { TYPE(F32); return TOK(CONST); } YY_BREAK case 59: YY_RULE_SETUP -#line 193 "src/wasm-lexer.l" +#line 209 "src/wasm-lexer.l" { TYPE(F64); return TOK(CONST); } YY_BREAK case 60: YY_RULE_SETUP -#line 194 "src/wasm-lexer.l" +#line 210 "src/wasm-lexer.l" { UNOP(I32, NOT); return TOK(UNARY); } YY_BREAK case 61: YY_RULE_SETUP -#line 195 "src/wasm-lexer.l" +#line 211 "src/wasm-lexer.l" { UNOP(I32, CLZ); return TOK(UNARY); } YY_BREAK case 62: YY_RULE_SETUP -#line 196 "src/wasm-lexer.l" +#line 212 "src/wasm-lexer.l" { UNOP(I64, CLZ); return TOK(UNARY); } YY_BREAK case 63: YY_RULE_SETUP -#line 197 "src/wasm-lexer.l" +#line 213 "src/wasm-lexer.l" { UNOP(I32, CTZ); return TOK(UNARY); } YY_BREAK case 64: YY_RULE_SETUP -#line 198 "src/wasm-lexer.l" +#line 214 "src/wasm-lexer.l" { UNOP(I64, CTZ); return TOK(UNARY); } YY_BREAK case 65: YY_RULE_SETUP -#line 199 "src/wasm-lexer.l" +#line 215 "src/wasm-lexer.l" { UNOP(I32, POPCNT); return TOK(UNARY); } YY_BREAK case 66: YY_RULE_SETUP -#line 200 "src/wasm-lexer.l" +#line 216 "src/wasm-lexer.l" { UNOP(I64, POPCNT); return TOK(UNARY); } YY_BREAK case 67: YY_RULE_SETUP -#line 201 "src/wasm-lexer.l" +#line 217 "src/wasm-lexer.l" { UNOP(F32, NEG); return TOK(UNARY); } YY_BREAK case 68: YY_RULE_SETUP -#line 202 "src/wasm-lexer.l" +#line 218 "src/wasm-lexer.l" { UNOP(F64, NEG); return TOK(UNARY); } YY_BREAK case 69: YY_RULE_SETUP -#line 203 "src/wasm-lexer.l" +#line 219 "src/wasm-lexer.l" { UNOP(F32, ABS); return TOK(UNARY); } YY_BREAK case 70: YY_RULE_SETUP -#line 204 "src/wasm-lexer.l" +#line 220 "src/wasm-lexer.l" { UNOP(F64, ABS); return TOK(UNARY); } YY_BREAK case 71: YY_RULE_SETUP -#line 205 "src/wasm-lexer.l" +#line 221 "src/wasm-lexer.l" { UNOP(F32, SQRT); return TOK(UNARY); } YY_BREAK case 72: YY_RULE_SETUP -#line 206 "src/wasm-lexer.l" +#line 222 "src/wasm-lexer.l" { UNOP(F64, SQRT); return TOK(UNARY); } YY_BREAK case 73: YY_RULE_SETUP -#line 207 "src/wasm-lexer.l" +#line 223 "src/wasm-lexer.l" { UNOP(F32, CEIL); return TOK(UNARY); } YY_BREAK case 74: YY_RULE_SETUP -#line 208 "src/wasm-lexer.l" +#line 224 "src/wasm-lexer.l" { UNOP(F64, CEIL); return TOK(UNARY); } YY_BREAK case 75: YY_RULE_SETUP -#line 209 "src/wasm-lexer.l" +#line 225 "src/wasm-lexer.l" { UNOP(F32, FLOOR); return TOK(UNARY); } YY_BREAK case 76: YY_RULE_SETUP -#line 210 "src/wasm-lexer.l" +#line 226 "src/wasm-lexer.l" { UNOP(F64, FLOOR); return TOK(UNARY); } YY_BREAK case 77: YY_RULE_SETUP -#line 211 "src/wasm-lexer.l" +#line 227 "src/wasm-lexer.l" { UNOP(F32, TRUNC); return TOK(UNARY); } YY_BREAK case 78: YY_RULE_SETUP -#line 212 "src/wasm-lexer.l" +#line 228 "src/wasm-lexer.l" { UNOP(F64, TRUNC); return TOK(UNARY); } YY_BREAK case 79: YY_RULE_SETUP -#line 213 "src/wasm-lexer.l" +#line 229 "src/wasm-lexer.l" { UNOP(F32, NEAREST); return TOK(UNARY); } YY_BREAK case 80: YY_RULE_SETUP -#line 214 "src/wasm-lexer.l" +#line 230 "src/wasm-lexer.l" { UNOP(F64, NEAREST); return TOK(UNARY); } YY_BREAK case 81: YY_RULE_SETUP -#line 215 "src/wasm-lexer.l" +#line 231 "src/wasm-lexer.l" { BINOP(I32, ADD); return TOK(BINARY); } YY_BREAK case 82: YY_RULE_SETUP -#line 216 "src/wasm-lexer.l" +#line 232 "src/wasm-lexer.l" { BINOP(I64, ADD); return TOK(BINARY); } YY_BREAK case 83: YY_RULE_SETUP -#line 217 "src/wasm-lexer.l" +#line 233 "src/wasm-lexer.l" { BINOP(I32, SUB); return TOK(BINARY); } YY_BREAK case 84: YY_RULE_SETUP -#line 218 "src/wasm-lexer.l" +#line 234 "src/wasm-lexer.l" { BINOP(I64, SUB); return TOK(BINARY); } YY_BREAK case 85: YY_RULE_SETUP -#line 219 "src/wasm-lexer.l" +#line 235 "src/wasm-lexer.l" { BINOP(I32, MUL); return TOK(BINARY); } YY_BREAK case 86: YY_RULE_SETUP -#line 220 "src/wasm-lexer.l" +#line 236 "src/wasm-lexer.l" { BINOP(I64, MUL); return TOK(BINARY); } YY_BREAK case 87: YY_RULE_SETUP -#line 221 "src/wasm-lexer.l" +#line 237 "src/wasm-lexer.l" { BINOP(I32, DIV_S); return TOK(BINARY); } YY_BREAK case 88: YY_RULE_SETUP -#line 222 "src/wasm-lexer.l" +#line 238 "src/wasm-lexer.l" { BINOP(I64, DIV_S); return TOK(BINARY); } YY_BREAK case 89: YY_RULE_SETUP -#line 223 "src/wasm-lexer.l" +#line 239 "src/wasm-lexer.l" { BINOP(I32, DIV_U); return TOK(BINARY); } YY_BREAK case 90: YY_RULE_SETUP -#line 224 "src/wasm-lexer.l" +#line 240 "src/wasm-lexer.l" { BINOP(I64, DIV_U); return TOK(BINARY); } YY_BREAK case 91: YY_RULE_SETUP -#line 225 "src/wasm-lexer.l" +#line 241 "src/wasm-lexer.l" { BINOP(I32, REM_S); return TOK(BINARY); } YY_BREAK case 92: YY_RULE_SETUP -#line 226 "src/wasm-lexer.l" +#line 242 "src/wasm-lexer.l" { BINOP(I64, REM_S); return TOK(BINARY); } YY_BREAK case 93: YY_RULE_SETUP -#line 227 "src/wasm-lexer.l" +#line 243 "src/wasm-lexer.l" { BINOP(I32, REM_U); return TOK(BINARY); } YY_BREAK case 94: YY_RULE_SETUP -#line 228 "src/wasm-lexer.l" +#line 244 "src/wasm-lexer.l" { BINOP(I64, REM_U); return TOK(BINARY); } YY_BREAK case 95: YY_RULE_SETUP -#line 229 "src/wasm-lexer.l" +#line 245 "src/wasm-lexer.l" { BINOP(I32, AND); return TOK(BINARY); } YY_BREAK case 96: YY_RULE_SETUP -#line 230 "src/wasm-lexer.l" +#line 246 "src/wasm-lexer.l" { BINOP(I64, AND); return TOK(BINARY); } YY_BREAK case 97: YY_RULE_SETUP -#line 231 "src/wasm-lexer.l" +#line 247 "src/wasm-lexer.l" { BINOP(I32, OR); return TOK(BINARY); } YY_BREAK case 98: YY_RULE_SETUP -#line 232 "src/wasm-lexer.l" +#line 248 "src/wasm-lexer.l" { BINOP(I64, OR); return TOK(BINARY); } YY_BREAK case 99: YY_RULE_SETUP -#line 233 "src/wasm-lexer.l" +#line 249 "src/wasm-lexer.l" { BINOP(I32, XOR); return TOK(BINARY); } YY_BREAK case 100: YY_RULE_SETUP -#line 234 "src/wasm-lexer.l" +#line 250 "src/wasm-lexer.l" { BINOP(I64, XOR); return TOK(BINARY); } YY_BREAK case 101: YY_RULE_SETUP -#line 235 "src/wasm-lexer.l" +#line 251 "src/wasm-lexer.l" { BINOP(I32, SHL); return TOK(BINARY); } YY_BREAK case 102: YY_RULE_SETUP -#line 236 "src/wasm-lexer.l" +#line 252 "src/wasm-lexer.l" { BINOP(I64, SHL); return TOK(BINARY); } YY_BREAK case 103: YY_RULE_SETUP -#line 237 "src/wasm-lexer.l" +#line 253 "src/wasm-lexer.l" { BINOP(I32, SHR_S); return TOK(BINARY); } YY_BREAK case 104: YY_RULE_SETUP -#line 238 "src/wasm-lexer.l" +#line 254 "src/wasm-lexer.l" { BINOP(I64, SHR_S); return TOK(BINARY); } YY_BREAK case 105: YY_RULE_SETUP -#line 239 "src/wasm-lexer.l" +#line 255 "src/wasm-lexer.l" { BINOP(I32, SHR_U); return TOK(BINARY); } YY_BREAK case 106: YY_RULE_SETUP -#line 240 "src/wasm-lexer.l" +#line 256 "src/wasm-lexer.l" { BINOP(I64, SHR_U); return TOK(BINARY); } YY_BREAK case 107: YY_RULE_SETUP -#line 241 "src/wasm-lexer.l" +#line 257 "src/wasm-lexer.l" { BINOP(F32, ADD); return TOK(BINARY); } YY_BREAK case 108: YY_RULE_SETUP -#line 242 "src/wasm-lexer.l" +#line 258 "src/wasm-lexer.l" { BINOP(F64, ADD); return TOK(BINARY); } YY_BREAK case 109: YY_RULE_SETUP -#line 243 "src/wasm-lexer.l" +#line 259 "src/wasm-lexer.l" { BINOP(F32, SUB); return TOK(BINARY); } YY_BREAK case 110: YY_RULE_SETUP -#line 244 "src/wasm-lexer.l" +#line 260 "src/wasm-lexer.l" { BINOP(F64, SUB); return TOK(BINARY); } YY_BREAK case 111: YY_RULE_SETUP -#line 245 "src/wasm-lexer.l" +#line 261 "src/wasm-lexer.l" { BINOP(F32, MUL); return TOK(BINARY); } YY_BREAK case 112: YY_RULE_SETUP -#line 246 "src/wasm-lexer.l" +#line 262 "src/wasm-lexer.l" { BINOP(F64, MUL); return TOK(BINARY); } YY_BREAK case 113: YY_RULE_SETUP -#line 247 "src/wasm-lexer.l" +#line 263 "src/wasm-lexer.l" { BINOP(F32, DIV); return TOK(BINARY); } YY_BREAK case 114: YY_RULE_SETUP -#line 248 "src/wasm-lexer.l" +#line 264 "src/wasm-lexer.l" { BINOP(F64, DIV); return TOK(BINARY); } YY_BREAK case 115: YY_RULE_SETUP -#line 249 "src/wasm-lexer.l" +#line 265 "src/wasm-lexer.l" { BINOP(F32, MIN); return TOK(BINARY); } YY_BREAK case 116: YY_RULE_SETUP -#line 250 "src/wasm-lexer.l" +#line 266 "src/wasm-lexer.l" { BINOP(F64, MIN); return TOK(BINARY); } YY_BREAK case 117: YY_RULE_SETUP -#line 251 "src/wasm-lexer.l" +#line 267 "src/wasm-lexer.l" { BINOP(F32, MAX); return TOK(BINARY); } YY_BREAK case 118: YY_RULE_SETUP -#line 252 "src/wasm-lexer.l" +#line 268 "src/wasm-lexer.l" { BINOP(F64, MAX); return TOK(BINARY); } YY_BREAK case 119: YY_RULE_SETUP -#line 253 "src/wasm-lexer.l" +#line 269 "src/wasm-lexer.l" { BINOP(F32, COPYSIGN); return TOK(BINARY); } YY_BREAK case 120: YY_RULE_SETUP -#line 254 "src/wasm-lexer.l" +#line 270 "src/wasm-lexer.l" { BINOP(F64, COPYSIGN); return TOK(BINARY); } YY_BREAK case 121: YY_RULE_SETUP -#line 255 "src/wasm-lexer.l" +#line 271 "src/wasm-lexer.l" { CMPOP(I32, EQ); return TOK(COMPARE); } YY_BREAK case 122: YY_RULE_SETUP -#line 256 "src/wasm-lexer.l" +#line 272 "src/wasm-lexer.l" { CMPOP(I64, EQ); return TOK(COMPARE); } YY_BREAK case 123: YY_RULE_SETUP -#line 257 "src/wasm-lexer.l" +#line 273 "src/wasm-lexer.l" { CMPOP(I32, NE); return TOK(COMPARE); } YY_BREAK case 124: YY_RULE_SETUP -#line 258 "src/wasm-lexer.l" +#line 274 "src/wasm-lexer.l" { CMPOP(I64, NE); return TOK(COMPARE); } YY_BREAK case 125: YY_RULE_SETUP -#line 259 "src/wasm-lexer.l" +#line 275 "src/wasm-lexer.l" { CMPOP(I32, LT_S); return TOK(COMPARE); } YY_BREAK case 126: YY_RULE_SETUP -#line 260 "src/wasm-lexer.l" +#line 276 "src/wasm-lexer.l" { CMPOP(I64, LT_S); return TOK(COMPARE); } YY_BREAK case 127: YY_RULE_SETUP -#line 261 "src/wasm-lexer.l" +#line 277 "src/wasm-lexer.l" { CMPOP(I32, LT_U); return TOK(COMPARE); } YY_BREAK case 128: YY_RULE_SETUP -#line 262 "src/wasm-lexer.l" +#line 278 "src/wasm-lexer.l" { CMPOP(I64, LT_U); return TOK(COMPARE); } YY_BREAK case 129: YY_RULE_SETUP -#line 263 "src/wasm-lexer.l" +#line 279 "src/wasm-lexer.l" { CMPOP(I32, LE_S); return TOK(COMPARE); } YY_BREAK case 130: YY_RULE_SETUP -#line 264 "src/wasm-lexer.l" +#line 280 "src/wasm-lexer.l" { CMPOP(I64, LE_S); return TOK(COMPARE); } YY_BREAK case 131: YY_RULE_SETUP -#line 265 "src/wasm-lexer.l" +#line 281 "src/wasm-lexer.l" { CMPOP(I32, LE_U); return TOK(COMPARE); } YY_BREAK case 132: YY_RULE_SETUP -#line 266 "src/wasm-lexer.l" +#line 282 "src/wasm-lexer.l" { CMPOP(I64, LE_U); return TOK(COMPARE); } YY_BREAK case 133: YY_RULE_SETUP -#line 267 "src/wasm-lexer.l" +#line 283 "src/wasm-lexer.l" { CMPOP(I32, GT_S); return TOK(COMPARE); } YY_BREAK case 134: YY_RULE_SETUP -#line 268 "src/wasm-lexer.l" +#line 284 "src/wasm-lexer.l" { CMPOP(I64, GT_S); return TOK(COMPARE); } YY_BREAK case 135: YY_RULE_SETUP -#line 269 "src/wasm-lexer.l" +#line 285 "src/wasm-lexer.l" { CMPOP(I32, GT_U); return TOK(COMPARE); } YY_BREAK case 136: YY_RULE_SETUP -#line 270 "src/wasm-lexer.l" +#line 286 "src/wasm-lexer.l" { CMPOP(I64, GT_U); return TOK(COMPARE); } YY_BREAK case 137: YY_RULE_SETUP -#line 271 "src/wasm-lexer.l" +#line 287 "src/wasm-lexer.l" { CMPOP(I32, GE_S); return TOK(COMPARE); } YY_BREAK case 138: YY_RULE_SETUP -#line 272 "src/wasm-lexer.l" +#line 288 "src/wasm-lexer.l" { CMPOP(I64, GE_S); return TOK(COMPARE); } YY_BREAK case 139: YY_RULE_SETUP -#line 273 "src/wasm-lexer.l" +#line 289 "src/wasm-lexer.l" { CMPOP(I32, GE_U); return TOK(COMPARE); } YY_BREAK case 140: YY_RULE_SETUP -#line 274 "src/wasm-lexer.l" +#line 290 "src/wasm-lexer.l" { CMPOP(I64, GE_U); return TOK(COMPARE); } YY_BREAK case 141: YY_RULE_SETUP -#line 275 "src/wasm-lexer.l" +#line 291 "src/wasm-lexer.l" { CMPOP(F32, EQ); return TOK(COMPARE); } YY_BREAK case 142: YY_RULE_SETUP -#line 276 "src/wasm-lexer.l" +#line 292 "src/wasm-lexer.l" { CMPOP(F64, EQ); return TOK(COMPARE); } YY_BREAK case 143: YY_RULE_SETUP -#line 277 "src/wasm-lexer.l" +#line 293 "src/wasm-lexer.l" { CMPOP(F32, NE); return TOK(COMPARE); } YY_BREAK case 144: YY_RULE_SETUP -#line 278 "src/wasm-lexer.l" +#line 294 "src/wasm-lexer.l" { CMPOP(F64, NE); return TOK(COMPARE); } YY_BREAK case 145: YY_RULE_SETUP -#line 279 "src/wasm-lexer.l" +#line 295 "src/wasm-lexer.l" { CMPOP(F32, LT); return TOK(COMPARE); } YY_BREAK case 146: YY_RULE_SETUP -#line 280 "src/wasm-lexer.l" +#line 296 "src/wasm-lexer.l" { CMPOP(F64, LT); return TOK(COMPARE); } YY_BREAK case 147: YY_RULE_SETUP -#line 281 "src/wasm-lexer.l" +#line 297 "src/wasm-lexer.l" { CMPOP(F32, LE); return TOK(COMPARE); } YY_BREAK case 148: YY_RULE_SETUP -#line 282 "src/wasm-lexer.l" +#line 298 "src/wasm-lexer.l" { CMPOP(F64, LE); return TOK(COMPARE); } YY_BREAK case 149: YY_RULE_SETUP -#line 283 "src/wasm-lexer.l" +#line 299 "src/wasm-lexer.l" { CMPOP(F32, GT); return TOK(COMPARE); } YY_BREAK case 150: YY_RULE_SETUP -#line 284 "src/wasm-lexer.l" +#line 300 "src/wasm-lexer.l" { CMPOP(F64, GT); return TOK(COMPARE); } YY_BREAK case 151: YY_RULE_SETUP -#line 285 "src/wasm-lexer.l" +#line 301 "src/wasm-lexer.l" { CMPOP(F32, GE); return TOK(COMPARE); } YY_BREAK case 152: YY_RULE_SETUP -#line 286 "src/wasm-lexer.l" +#line 302 "src/wasm-lexer.l" { CMPOP(F64, GE); return TOK(COMPARE); } YY_BREAK case 153: YY_RULE_SETUP -#line 287 "src/wasm-lexer.l" +#line 303 "src/wasm-lexer.l" { CONVTYPE(I64, EXTEND_S, I32); return TOK(CONVERT); } YY_BREAK case 154: YY_RULE_SETUP -#line 288 "src/wasm-lexer.l" +#line 304 "src/wasm-lexer.l" { CONVTYPE(I64, EXTEND_U, I32); return TOK(CONVERT); } YY_BREAK case 155: YY_RULE_SETUP -#line 289 "src/wasm-lexer.l" +#line 305 "src/wasm-lexer.l" { CONVTYPE(I32, WRAP, I64); return TOK(CONVERT); } YY_BREAK case 156: YY_RULE_SETUP -#line 290 "src/wasm-lexer.l" +#line 306 "src/wasm-lexer.l" { CONVTYPE(I32, TRUNC_S, F32); return TOK(CONVERT); } YY_BREAK case 157: YY_RULE_SETUP -#line 291 "src/wasm-lexer.l" +#line 307 "src/wasm-lexer.l" { CONVTYPE(I64, TRUNC_S, F32); return TOK(CONVERT); } YY_BREAK case 158: YY_RULE_SETUP -#line 292 "src/wasm-lexer.l" +#line 308 "src/wasm-lexer.l" { CONVTYPE(I32, TRUNC_S, F64); return TOK(CONVERT); } YY_BREAK case 159: YY_RULE_SETUP -#line 293 "src/wasm-lexer.l" +#line 309 "src/wasm-lexer.l" { CONVTYPE(I64, TRUNC_S, F64); return TOK(CONVERT); } YY_BREAK case 160: YY_RULE_SETUP -#line 294 "src/wasm-lexer.l" +#line 310 "src/wasm-lexer.l" { CONVTYPE(I32, TRUNC_U, F32); return TOK(CONVERT); } YY_BREAK case 161: YY_RULE_SETUP -#line 295 "src/wasm-lexer.l" +#line 311 "src/wasm-lexer.l" { CONVTYPE(I64, TRUNC_U, F32); return TOK(CONVERT); } YY_BREAK case 162: YY_RULE_SETUP -#line 296 "src/wasm-lexer.l" +#line 312 "src/wasm-lexer.l" { CONVTYPE(I32, TRUNC_U, F64); return TOK(CONVERT); } YY_BREAK case 163: YY_RULE_SETUP -#line 297 "src/wasm-lexer.l" +#line 313 "src/wasm-lexer.l" { CONVTYPE(I64, TRUNC_U, F64); return TOK(CONVERT); } YY_BREAK case 164: YY_RULE_SETUP -#line 298 "src/wasm-lexer.l" +#line 314 "src/wasm-lexer.l" { CONVTYPE(F32, CONVERT_S, I32); return TOK(CONVERT); } YY_BREAK case 165: YY_RULE_SETUP -#line 299 "src/wasm-lexer.l" +#line 315 "src/wasm-lexer.l" { CONVTYPE(F64, CONVERT_S, I32); return TOK(CONVERT); } YY_BREAK case 166: YY_RULE_SETUP -#line 300 "src/wasm-lexer.l" +#line 316 "src/wasm-lexer.l" { CONVTYPE(F32, CONVERT_S, I64); return TOK(CONVERT); } YY_BREAK case 167: YY_RULE_SETUP -#line 301 "src/wasm-lexer.l" +#line 317 "src/wasm-lexer.l" { CONVTYPE(F64, CONVERT_S, I64); return TOK(CONVERT); } YY_BREAK case 168: YY_RULE_SETUP -#line 302 "src/wasm-lexer.l" +#line 318 "src/wasm-lexer.l" { CONVTYPE(F32, CONVERT_U, I32); return TOK(CONVERT); } YY_BREAK case 169: YY_RULE_SETUP -#line 303 "src/wasm-lexer.l" +#line 319 "src/wasm-lexer.l" { CONVTYPE(F64, CONVERT_U, I32); return TOK(CONVERT); } YY_BREAK case 170: YY_RULE_SETUP -#line 304 "src/wasm-lexer.l" +#line 320 "src/wasm-lexer.l" { CONVTYPE(F32, CONVERT_U, I64); return TOK(CONVERT); } YY_BREAK case 171: YY_RULE_SETUP -#line 305 "src/wasm-lexer.l" +#line 321 "src/wasm-lexer.l" { CONVTYPE(F64, CONVERT_U, I64); return TOK(CONVERT); } YY_BREAK case 172: YY_RULE_SETUP -#line 306 "src/wasm-lexer.l" +#line 322 "src/wasm-lexer.l" { CONVTYPE(F64, PROMOTE, F32); return TOK(CONVERT); } YY_BREAK case 173: YY_RULE_SETUP -#line 307 "src/wasm-lexer.l" +#line 323 "src/wasm-lexer.l" { CONVTYPE(F32, DEMOTE, F64); return TOK(CONVERT); } YY_BREAK case 174: YY_RULE_SETUP -#line 308 "src/wasm-lexer.l" +#line 324 "src/wasm-lexer.l" { CASTTYPE(F32, I32); return TOK(CAST); } YY_BREAK case 175: YY_RULE_SETUP -#line 309 "src/wasm-lexer.l" +#line 325 "src/wasm-lexer.l" { CASTTYPE(I32, F32); return TOK(CAST); } YY_BREAK case 176: YY_RULE_SETUP -#line 310 "src/wasm-lexer.l" +#line 326 "src/wasm-lexer.l" { CASTTYPE(F64, I64); return TOK(CAST); } YY_BREAK case 177: YY_RULE_SETUP -#line 311 "src/wasm-lexer.l" +#line 327 "src/wasm-lexer.l" { CASTTYPE(I64, F64); return TOK(CAST); } YY_BREAK case 178: YY_RULE_SETUP -#line 312 "src/wasm-lexer.l" +#line 328 "src/wasm-lexer.l" { TYPE(I32); return TOK(SELECT); } YY_BREAK case 179: YY_RULE_SETUP -#line 313 "src/wasm-lexer.l" +#line 329 "src/wasm-lexer.l" { TYPE(I64); return TOK(SELECT); } YY_BREAK case 180: YY_RULE_SETUP -#line 314 "src/wasm-lexer.l" +#line 330 "src/wasm-lexer.l" { TYPE(F32); return TOK(SELECT); } YY_BREAK case 181: YY_RULE_SETUP -#line 315 "src/wasm-lexer.l" +#line 331 "src/wasm-lexer.l" { TYPE(F64); return TOK(SELECT); } YY_BREAK case 182: YY_RULE_SETUP -#line 316 "src/wasm-lexer.l" +#line 332 "src/wasm-lexer.l" { return TOK(UNREACHABLE); } YY_BREAK case 183: YY_RULE_SETUP -#line 317 "src/wasm-lexer.l" +#line 333 "src/wasm-lexer.l" { return TOK(MEMORY_SIZE); } YY_BREAK case 184: YY_RULE_SETUP -#line 318 "src/wasm-lexer.l" +#line 334 "src/wasm-lexer.l" { return TOK(GROW_MEMORY); } YY_BREAK case 185: YY_RULE_SETUP -#line 319 "src/wasm-lexer.l" +#line 335 "src/wasm-lexer.l" { return TOK(HAS_FEATURE); } YY_BREAK case 186: YY_RULE_SETUP -#line 320 "src/wasm-lexer.l" +#line 336 "src/wasm-lexer.l" { return TOK(TYPE); } YY_BREAK case 187: YY_RULE_SETUP -#line 321 "src/wasm-lexer.l" +#line 337 "src/wasm-lexer.l" { return TOK(FUNC); } YY_BREAK case 188: YY_RULE_SETUP -#line 322 "src/wasm-lexer.l" +#line 338 "src/wasm-lexer.l" { return TOK(PARAM); } YY_BREAK case 189: YY_RULE_SETUP -#line 323 "src/wasm-lexer.l" +#line 339 "src/wasm-lexer.l" { return TOK(RESULT); } YY_BREAK case 190: YY_RULE_SETUP -#line 324 "src/wasm-lexer.l" +#line 340 "src/wasm-lexer.l" { return TOK(LOCAL); } YY_BREAK case 191: YY_RULE_SETUP -#line 325 "src/wasm-lexer.l" +#line 341 "src/wasm-lexer.l" { return TOK(MODULE); } YY_BREAK case 192: YY_RULE_SETUP -#line 326 "src/wasm-lexer.l" +#line 342 "src/wasm-lexer.l" { return TOK(MEMORY); } YY_BREAK case 193: YY_RULE_SETUP -#line 327 "src/wasm-lexer.l" +#line 343 "src/wasm-lexer.l" { return TOK(SEGMENT); } YY_BREAK case 194: YY_RULE_SETUP -#line 328 "src/wasm-lexer.l" +#line 344 "src/wasm-lexer.l" { return TOK(IMPORT); } YY_BREAK case 195: YY_RULE_SETUP -#line 329 "src/wasm-lexer.l" +#line 345 "src/wasm-lexer.l" { return TOK(EXPORT); } YY_BREAK case 196: YY_RULE_SETUP -#line 330 "src/wasm-lexer.l" +#line 346 "src/wasm-lexer.l" { return TOK(TABLE); } YY_BREAK case 197: YY_RULE_SETUP -#line 331 "src/wasm-lexer.l" +#line 347 "src/wasm-lexer.l" { return TOK(ASSERT_INVALID); } YY_BREAK case 198: YY_RULE_SETUP -#line 332 "src/wasm-lexer.l" +#line 348 "src/wasm-lexer.l" { return TOK(ASSERT_RETURN); } YY_BREAK case 199: YY_RULE_SETUP -#line 333 "src/wasm-lexer.l" +#line 349 "src/wasm-lexer.l" { return TOK(ASSERT_RETURN_NAN); } YY_BREAK case 200: YY_RULE_SETUP -#line 334 "src/wasm-lexer.l" +#line 350 "src/wasm-lexer.l" { return TOK(ASSERT_TRAP); } YY_BREAK case 201: YY_RULE_SETUP -#line 335 "src/wasm-lexer.l" +#line 351 "src/wasm-lexer.l" { return TOK(INVOKE); } YY_BREAK case 202: YY_RULE_SETUP -#line 336 "src/wasm-lexer.l" +#line 352 "src/wasm-lexer.l" { TEXT; return TOK(VAR); } YY_BREAK case 203: YY_RULE_SETUP -#line 338 "src/wasm-lexer.l" +#line 354 "src/wasm-lexer.l" { return TOK(GLOBAL); } YY_BREAK case 204: YY_RULE_SETUP -#line 339 "src/wasm-lexer.l" +#line 355 "src/wasm-lexer.l" { return TOK(LOAD_GLOBAL); } YY_BREAK case 205: YY_RULE_SETUP -#line 340 "src/wasm-lexer.l" +#line 356 "src/wasm-lexer.l" { return TOK(STORE_GLOBAL); } YY_BREAK case 206: YY_RULE_SETUP -#line 342 "src/wasm-lexer.l" +#line 358 "src/wasm-lexer.l" { BEGIN(LINE_COMMENT); } YY_BREAK case 207: /* rule 207 can match eol */ YY_RULE_SETUP -#line 343 "src/wasm-lexer.l" +#line 359 "src/wasm-lexer.l" { RESET_COLUMN(yyscanner); BEGIN(INITIAL); } YY_BREAK case YY_STATE_EOF(LINE_COMMENT): -#line 344 "src/wasm-lexer.l" +#line 360 "src/wasm-lexer.l" { return TOK(EOF); } YY_BREAK case 208: YY_RULE_SETUP -#line 345 "src/wasm-lexer.l" +#line 361 "src/wasm-lexer.l" YY_BREAK case 209: YY_RULE_SETUP -#line 346 "src/wasm-lexer.l" +#line 362 "src/wasm-lexer.l" { BEGIN(BLOCK_COMMENT); COMMENT_NESTING(yyscanner) = 1; } YY_BREAK case 210: YY_RULE_SETUP -#line 347 "src/wasm-lexer.l" +#line 363 "src/wasm-lexer.l" { COMMENT_NESTING(yyscanner)++; } YY_BREAK case 211: YY_RULE_SETUP -#line 348 "src/wasm-lexer.l" +#line 364 "src/wasm-lexer.l" { if (--COMMENT_NESTING(yyscanner) == 0) BEGIN(INITIAL); } YY_BREAK case 212: /* rule 212 can match eol */ YY_RULE_SETUP -#line 349 "src/wasm-lexer.l" +#line 365 "src/wasm-lexer.l" { RESET_COLUMN(yyscanner); } YY_BREAK case YY_STATE_EOF(BLOCK_COMMENT): -#line 350 "src/wasm-lexer.l" +#line 366 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "unexpected EOF"); return TOK(EOF); } YY_BREAK case 213: YY_RULE_SETUP -#line 353 "src/wasm-lexer.l" +#line 369 "src/wasm-lexer.l" YY_BREAK case 214: /* rule 214 can match eol */ YY_RULE_SETUP -#line 354 "src/wasm-lexer.l" +#line 370 "src/wasm-lexer.l" { RESET_COLUMN(yyscanner); } YY_BREAK case 215: YY_RULE_SETUP -#line 355 "src/wasm-lexer.l" +#line 371 "src/wasm-lexer.l" YY_BREAK case YY_STATE_EOF(INITIAL): -#line 356 "src/wasm-lexer.l" +#line 372 "src/wasm-lexer.l" { return TOK(EOF); } YY_BREAK case 216: YY_RULE_SETUP -#line 357 "src/wasm-lexer.l" +#line 373 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "unexpected token \"%.*s\"", yyleng, yytext); } YY_BREAK case 217: YY_RULE_SETUP -#line 360 "src/wasm-lexer.l" +#line 376 "src/wasm-lexer.l" { wasm_error(yylloc, &yyscanner, parser, "unexpected char"); } YY_BREAK case 218: YY_RULE_SETUP -#line 363 "src/wasm-lexer.l" +#line 379 "src/wasm-lexer.l" ECHO; YY_BREAK -#line 2755 "src/wasm-lexer.c" +#line 2770 "src/wasm-lexer.c" case YY_END_OF_BUFFER: { @@ -3937,7 +3952,7 @@ void wasm_free (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 362 "src/wasm-lexer.l" +#line 378 "src/wasm-lexer.l" diff --git a/src/wasm-lexer.l b/src/wasm-lexer.l index f3edc8ab..b5c60896 100644 --- a/src/wasm-lexer.l +++ b/src/wasm-lexer.l @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + %{ #include "wasm.h" #include "wasm-internal.h" diff --git a/src/wasm-parser.c b/src/wasm-parser.c index 38f061c2..0047ce5c 100644 --- a/src/wasm-parser.c +++ b/src/wasm-parser.c @@ -70,7 +70,7 @@ /* Copy the first part of user declarations. */ -#line 1 "src/wasm-parser.y" /* yacc.c:339 */ +#line 17 "src/wasm-parser.y" /* yacc.c:339 */ #include <assert.h> #include <errno.h> @@ -581,25 +581,25 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 173, 173, 174, 180, 181, 185, 189, 196, 197, - 201, 210, 218, 219, 222, 226, 230, 234, 238, 239, - 243, 244, 251, 252, 260, 263, 267, 272, 278, 285, - 291, 297, 304, 311, 318, 326, 332, 337, 359, 365, - 371, 378, 383, 389, 397, 406, 415, 421, 428, 436, - 443, 449, 455, 459, 463, 468, 473, 478, 486, 487, - 490, 494, 500, 501, 505, 509, 515, 516, 522, 523, - 526, 527, 537, 542, 551, 556, 567, 570, 575, 584, - 589, 600, 603, 607, 612, 618, 625, 633, 642, 652, - 661, 669, 678, 686, 693, 701, 710, 718, 725, 733, - 740, 746, 753, 759, 766, 774, 783, 791, 798, 806, - 813, 819, 826, 834, 841, 847, 852, 858, 865, 873, - 882, 890, 897, 905, 912, 918, 925, 933, 940, 946, - 953, 959, 964, 970, 977, 985, 992, 998, 1005, 1011, - 1016, 1022, 1029, 1035, 1040, 1046, 1053, 1059, 1070, 1071, - 1078, 1088, 1099, 1103, 1110, 1114, 1121, 1129, 1136, 1147, - 1154, 1158, 1170, 1171, 1179, 1187, 1195, 1203, 1211, 1219, - 1229, 1307, 1308, 1314, 1319, 1326, 1332, 1341, 1342, 1349, - 1358, 1359, 1362, 1363, 1370, 1376 + 0, 189, 189, 190, 196, 197, 201, 205, 212, 213, + 217, 226, 234, 235, 238, 242, 246, 250, 254, 255, + 259, 260, 267, 268, 276, 279, 283, 288, 294, 301, + 307, 313, 320, 327, 334, 342, 348, 353, 375, 381, + 387, 394, 399, 405, 413, 422, 431, 437, 444, 452, + 459, 465, 471, 475, 479, 484, 489, 494, 502, 503, + 506, 510, 516, 517, 521, 525, 531, 532, 538, 539, + 542, 543, 553, 558, 567, 572, 583, 586, 591, 600, + 605, 616, 619, 623, 628, 634, 641, 649, 658, 668, + 677, 685, 694, 702, 709, 717, 726, 734, 741, 749, + 756, 762, 769, 775, 782, 790, 799, 807, 814, 822, + 829, 835, 842, 850, 857, 863, 868, 874, 881, 889, + 898, 906, 913, 921, 928, 934, 941, 949, 956, 962, + 969, 975, 980, 986, 993, 1001, 1008, 1014, 1021, 1027, + 1032, 1038, 1045, 1051, 1056, 1062, 1069, 1075, 1086, 1087, + 1094, 1104, 1115, 1119, 1126, 1130, 1137, 1145, 1152, 1163, + 1170, 1174, 1186, 1187, 1195, 1203, 1211, 1219, 1227, 1235, + 1245, 1323, 1324, 1330, 1335, 1342, 1348, 1357, 1358, 1365, + 1374, 1375, 1378, 1379, 1386, 1392 }; #endif @@ -1496,223 +1496,223 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio switch (yytype) { case 61: /* value_type_list */ -#line 138 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 154 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_type_vector(&((*yyvaluep).types)); } #line 1502 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 62: /* func_type */ -#line 152 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 168 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_func_signature(&((*yyvaluep).func_sig)); } #line 1508 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 63: /* literal */ -#line 137 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_string_slice(&((*yyvaluep).text)); } #line 1514 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 64: /* var */ -#line 139 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 155 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_var(&((*yyvaluep).var)); } #line 1520 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 65: /* var_list */ -#line 140 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 156 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_var_vector_and_elements(&((*yyvaluep).vars)); } #line 1526 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 66: /* bind_var */ -#line 137 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_string_slice(&((*yyvaluep).text)); } #line 1532 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 67: /* text */ -#line 137 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_string_slice(&((*yyvaluep).text)); } #line 1538 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 68: /* quoted_text */ -#line 137 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_string_slice(&((*yyvaluep).text)); } #line 1544 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 69: /* string_contents */ -#line 149 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 165 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_segment(&((*yyvaluep).segment)); } #line 1550 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 70: /* labeling */ -#line 137 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_string_slice(&((*yyvaluep).text)); } #line 1556 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 73: /* expr */ -#line 141 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 157 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_expr_ptr(&((*yyvaluep).expr)); } #line 1562 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 74: /* expr1 */ -#line 141 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 157 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_expr_ptr(&((*yyvaluep).expr)); } #line 1568 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 75: /* expr_opt */ -#line 141 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 157 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_expr_ptr(&((*yyvaluep).expr)); } #line 1574 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 76: /* non_empty_expr_list */ -#line 142 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 158 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_expr_ptr_vector_and_elements(&((*yyvaluep).exprs)); } #line 1580 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 77: /* expr_list */ -#line 142 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 158 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_expr_ptr_vector_and_elements(&((*yyvaluep).exprs)); } #line 1586 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 78: /* target */ -#line 143 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 159 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_target(&((*yyvaluep).target)); } #line 1592 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 79: /* target_list */ -#line 144 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 160 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_target_vector_and_elements(&((*yyvaluep).targets)); } #line 1598 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 80: /* case */ -#line 145 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 161 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_case(&((*yyvaluep).case_)); } #line 1604 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 81: /* case_list */ -#line 146 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 162 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_case_vector_and_elements(&((*yyvaluep).cases)); } #line 1610 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 82: /* param_list */ -#line 147 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 163 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_type_bindings(&((*yyvaluep).type_bindings)); } #line 1616 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 84: /* local_list */ -#line 147 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 163 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_type_bindings(&((*yyvaluep).type_bindings)); } #line 1622 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 86: /* func_info */ -#line 148 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 164 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_func(&((*yyvaluep).func)); } #line 1628 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 87: /* func */ -#line 148 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 164 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_func(&((*yyvaluep).func)); } #line 1634 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 88: /* segment */ -#line 149 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 165 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_segment(&((*yyvaluep).segment)); } #line 1640 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 89: /* segment_list */ -#line 150 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 166 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_segment_vector_and_elements(&((*yyvaluep).segments)); } #line 1646 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 90: /* memory */ -#line 151 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 167 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_memory(&((*yyvaluep).memory)); } #line 1652 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 91: /* type_def */ -#line 153 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 169 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_func_type(&((*yyvaluep).func_type)); } #line 1658 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 92: /* table */ -#line 140 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 156 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_var_vector_and_elements(&((*yyvaluep).vars)); } #line 1664 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 93: /* import */ -#line 154 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 170 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_import(&((*yyvaluep).import)); } #line 1670 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 94: /* export */ -#line 155 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 171 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_export(&((*yyvaluep).export)); } #line 1676 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 95: /* global */ -#line 147 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 163 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_type_bindings(&((*yyvaluep).type_bindings)); } #line 1682 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 96: /* module_fields */ -#line 156 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 172 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_module_field_vector_and_elements(&((*yyvaluep).module_fields)); } #line 1688 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 97: /* module */ -#line 157 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 173 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_module(&((*yyvaluep).module)); } #line 1694 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 98: /* cmd */ -#line 159 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 175 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_command(&((*yyvaluep).command)); } #line 1700 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 99: /* cmd_list */ -#line 160 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 176 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_command_vector_and_elements(&((*yyvaluep).commands)); } #line 1706 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 102: /* const_list */ -#line 158 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 174 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_const_vector(&((*yyvaluep).consts)); } #line 1712 "src/wasm-parser.c" /* yacc.c:1257 */ break; case 103: /* script */ -#line 161 "src/wasm-parser.y" /* yacc.c:1257 */ +#line 177 "src/wasm-parser.y" /* yacc.c:1257 */ { wasm_destroy_script(&((*yyvaluep).script)); } #line 1718 "src/wasm-parser.c" /* yacc.c:1257 */ break; @@ -2006,13 +2006,13 @@ yyreduce: switch (yyn) { case 2: -#line 173 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 189 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.types)); } #line 2012 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 3: -#line 174 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 190 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.types) = (yyvsp[-1].types); CHECK_ALLOC(wasm_append_type_value(&(yyval.types), &(yyvsp[0].type))); @@ -2021,13 +2021,13 @@ yyreduce: break; case 4: -#line 180 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 196 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func_sig)); } #line 2027 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 5: -#line 181 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 197 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.func_sig).result_type = WASM_TYPE_VOID; (yyval.func_sig).param_types = (yyvsp[-1].types); @@ -2036,7 +2036,7 @@ yyreduce: break; case 6: -#line 185 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 201 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.func_sig).result_type = (yyvsp[-1].type); (yyval.func_sig).param_types = (yyvsp[-5].types); @@ -2045,25 +2045,25 @@ yyreduce: break; case 7: -#line 189 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 205 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func_sig)); (yyval.func_sig).result_type = (yyvsp[-1].type); } #line 2051 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 8: -#line 196 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 212 "src/wasm-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); CHECK_ALLOC_STR((yyval.text)); } #line 2057 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 9: -#line 197 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 213 "src/wasm-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); CHECK_ALLOC_STR((yyval.text)); } #line 2063 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 10: -#line 201 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 217 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = WASM_VAR_TYPE_INDEX; @@ -2077,7 +2077,7 @@ yyreduce: break; case 11: -#line 210 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 226 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = WASM_VAR_TYPE_NAME; @@ -2088,61 +2088,61 @@ yyreduce: break; case 12: -#line 218 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 234 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.vars)); } #line 2094 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 13: -#line 219 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 235 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.vars) = (yyvsp[-1].vars); CHECK_ALLOC(wasm_append_var_value(&(yyval.vars), &(yyvsp[0].var))); } #line 2100 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 14: -#line 222 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 238 "src/wasm-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); CHECK_ALLOC_STR((yyval.text)); } #line 2106 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 15: -#line 226 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 242 "src/wasm-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); CHECK_ALLOC_STR((yyval.text)); } #line 2112 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 16: -#line 230 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 246 "src/wasm-parser.y" /* yacc.c:1646 */ { DUPQUOTEDTEXT((yyval.text), (yyvsp[0].text)); CHECK_ALLOC_STR((yyval.text)); } #line 2118 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 17: -#line 234 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 250 "src/wasm-parser.y" /* yacc.c:1646 */ { CHECK_ALLOC(dup_string_contents(&(yyvsp[0].text), &(yyval.segment).data, &(yyval.segment).size)); } #line 2124 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 18: -#line 238 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 254 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.text)); } #line 2130 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 19: -#line 239 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 255 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.text) = (yyvsp[0].text); } #line 2136 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 20: -#line 243 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 259 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.u64) = 0; } #line 2142 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 21: -#line 244 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 260 "src/wasm-parser.y" /* yacc.c:1646 */ { if (!read_int64((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u64))) wasm_error(&(yylsp[0]), scanner, parser, "invalid offset \"%.*s\"", (yyvsp[0].text).length, @@ -2152,13 +2152,13 @@ yyreduce: break; case 22: -#line 251 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 267 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.u32) = WASM_USE_NATURAL_ALIGNMENT; } #line 2158 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 23: -#line 252 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 268 "src/wasm-parser.y" /* yacc.c:1646 */ { if (!read_int32((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u32), 0)) wasm_error(&(yylsp[0]), scanner, parser, "invalid alignment \"%.*s\"", @@ -2168,13 +2168,13 @@ yyreduce: break; case 24: -#line 260 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 276 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = (yyvsp[-1].expr); (yyval.expr)->loc = (yylsp[-2]); } #line 2174 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 25: -#line 263 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 279 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_NOP); CHECK_ALLOC_NULL((yyval.expr)); @@ -2183,7 +2183,7 @@ yyreduce: break; case 26: -#line 267 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 283 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BLOCK); CHECK_ALLOC_NULL((yyval.expr)); @@ -2193,7 +2193,7 @@ yyreduce: break; case 27: -#line 272 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 288 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BLOCK); CHECK_ALLOC_NULL((yyval.expr)); @@ -2204,7 +2204,7 @@ yyreduce: break; case 28: -#line 278 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 294 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_IF_ELSE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2216,7 +2216,7 @@ yyreduce: break; case 29: -#line 285 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 301 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_IF); CHECK_ALLOC_NULL((yyval.expr)); @@ -2227,7 +2227,7 @@ yyreduce: break; case 30: -#line 291 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 307 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BR_IF); CHECK_ALLOC_NULL((yyval.expr)); @@ -2238,7 +2238,7 @@ yyreduce: break; case 31: -#line 297 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 313 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BR_IF); CHECK_ALLOC_NULL((yyval.expr)); @@ -2250,7 +2250,7 @@ yyreduce: break; case 32: -#line 304 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 320 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_LOOP); CHECK_ALLOC_NULL((yyval.expr)); @@ -2262,7 +2262,7 @@ yyreduce: break; case 33: -#line 311 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 327 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_LOOP); CHECK_ALLOC_NULL((yyval.expr)); @@ -2274,7 +2274,7 @@ yyreduce: break; case 34: -#line 318 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 334 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BR); CHECK_ALLOC_NULL((yyval.expr)); @@ -2287,7 +2287,7 @@ yyreduce: break; case 35: -#line 326 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 342 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BR); CHECK_ALLOC_NULL((yyval.expr)); @@ -2298,7 +2298,7 @@ yyreduce: break; case 36: -#line 332 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 348 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_RETURN); CHECK_ALLOC_NULL((yyval.expr)); @@ -2308,7 +2308,7 @@ yyreduce: break; case 37: -#line 337 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 353 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_TABLESWITCH); CHECK_ALLOC_NULL((yyval.expr)); @@ -2335,7 +2335,7 @@ yyreduce: break; case 38: -#line 359 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 375 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CALL); CHECK_ALLOC_NULL((yyval.expr)); @@ -2346,7 +2346,7 @@ yyreduce: break; case 39: -#line 365 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 381 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CALL_IMPORT); CHECK_ALLOC_NULL((yyval.expr)); @@ -2357,7 +2357,7 @@ yyreduce: break; case 40: -#line 371 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 387 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CALL_INDIRECT); CHECK_ALLOC_NULL((yyval.expr)); @@ -2369,7 +2369,7 @@ yyreduce: break; case 41: -#line 378 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 394 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_GET_LOCAL); CHECK_ALLOC_NULL((yyval.expr)); @@ -2379,7 +2379,7 @@ yyreduce: break; case 42: -#line 383 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 399 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_SET_LOCAL); CHECK_ALLOC_NULL((yyval.expr)); @@ -2390,7 +2390,7 @@ yyreduce: break; case 43: -#line 389 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 405 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_LOAD); CHECK_ALLOC_NULL((yyval.expr)); @@ -2403,7 +2403,7 @@ yyreduce: break; case 44: -#line 397 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 413 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_STORE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2417,7 +2417,7 @@ yyreduce: break; case 45: -#line 406 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 422 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CONST); CHECK_ALLOC_NULL((yyval.expr)); @@ -2431,7 +2431,7 @@ yyreduce: break; case 46: -#line 415 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 431 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_UNARY); CHECK_ALLOC_NULL((yyval.expr)); @@ -2442,7 +2442,7 @@ yyreduce: break; case 47: -#line 421 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 437 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_BINARY); CHECK_ALLOC_NULL((yyval.expr)); @@ -2454,7 +2454,7 @@ yyreduce: break; case 48: -#line 428 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 444 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_SELECT); CHECK_ALLOC_NULL((yyval.expr)); @@ -2467,7 +2467,7 @@ yyreduce: break; case 49: -#line 436 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 452 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_COMPARE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2479,7 +2479,7 @@ yyreduce: break; case 50: -#line 443 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 459 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CONVERT); CHECK_ALLOC_NULL((yyval.expr)); @@ -2490,7 +2490,7 @@ yyreduce: break; case 51: -#line 449 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 465 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_CAST); CHECK_ALLOC_NULL((yyval.expr)); @@ -2501,7 +2501,7 @@ yyreduce: break; case 52: -#line 455 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 471 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_UNREACHABLE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2510,7 +2510,7 @@ yyreduce: break; case 53: -#line 459 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 475 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_MEMORY_SIZE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2519,7 +2519,7 @@ yyreduce: break; case 54: -#line 463 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 479 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_GROW_MEMORY); CHECK_ALLOC_NULL((yyval.expr)); @@ -2529,7 +2529,7 @@ yyreduce: break; case 55: -#line 468 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 484 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_HAS_FEATURE); CHECK_ALLOC_NULL((yyval.expr)); @@ -2539,7 +2539,7 @@ yyreduce: break; case 56: -#line 473 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 489 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_LOAD_GLOBAL); CHECK_ALLOC_NULL((yyval.expr)); @@ -2549,7 +2549,7 @@ yyreduce: break; case 57: -#line 478 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 494 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = wasm_new_expr(WASM_EXPR_TYPE_STORE_GLOBAL); CHECK_ALLOC_NULL((yyval.expr)); @@ -2560,13 +2560,13 @@ yyreduce: break; case 58: -#line 486 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 502 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.expr) = NULL; } #line 2566 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 60: -#line 490 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 506 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.exprs)); CHECK_ALLOC(wasm_append_expr_ptr_value(&(yyval.exprs), &(yyvsp[0].expr))); @@ -2575,7 +2575,7 @@ yyreduce: break; case 61: -#line 494 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 510 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.exprs) = (yyvsp[-1].exprs); CHECK_ALLOC(wasm_append_expr_ptr_value(&(yyval.exprs), &(yyvsp[0].expr))); @@ -2584,13 +2584,13 @@ yyreduce: break; case 62: -#line 500 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 516 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.exprs)); } #line 2590 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 64: -#line 505 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 521 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.target).type = WASM_TARGET_TYPE_CASE; (yyval.target).var = (yyvsp[-1].var); @@ -2599,7 +2599,7 @@ yyreduce: break; case 65: -#line 509 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 525 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.target).type = WASM_TARGET_TYPE_BR; (yyval.target).var = (yyvsp[-1].var); @@ -2608,13 +2608,13 @@ yyreduce: break; case 66: -#line 515 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 531 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.targets)); } #line 2614 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 67: -#line 516 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 532 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.targets) = (yyvsp[-1].targets); CHECK_ALLOC(wasm_append_target_value(&(yyval.targets), &(yyvsp[0].target))); @@ -2623,25 +2623,25 @@ yyreduce: break; case 68: -#line 522 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 538 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.case_).label); (yyval.case_).exprs = (yyvsp[-1].exprs); } #line 2629 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 69: -#line 523 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 539 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.case_).label = (yyvsp[-2].text); (yyval.case_).exprs = (yyvsp[-1].exprs); } #line 2635 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 70: -#line 526 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 542 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.cases)); } #line 2641 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 71: -#line 527 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 543 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.cases) = (yyvsp[-1].cases); CHECK_ALLOC(wasm_append_case_value(&(yyval.cases), &(yyvsp[0].case_))); @@ -2650,7 +2650,7 @@ yyreduce: break; case 72: -#line 537 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 553 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); CHECK_ALLOC(wasm_extend_types(&(yyval.type_bindings).types, &(yyvsp[-1].types))); @@ -2660,7 +2660,7 @@ yyreduce: break; case 73: -#line 542 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 558 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); WasmBinding* binding = wasm_append_binding(&(yyval.type_bindings).bindings); @@ -2674,7 +2674,7 @@ yyreduce: break; case 74: -#line 551 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 567 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.type_bindings) = (yyvsp[-4].type_bindings); CHECK_ALLOC(wasm_extend_types(&(yyval.type_bindings).types, &(yyvsp[-1].types))); @@ -2684,7 +2684,7 @@ yyreduce: break; case 75: -#line 556 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 572 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.type_bindings) = (yyvsp[-5].type_bindings); WasmBinding* binding = wasm_append_binding(&(yyval.type_bindings).bindings); @@ -2698,13 +2698,13 @@ yyreduce: break; case 76: -#line 567 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 583 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.type) = (yyvsp[-1].type); } #line 2704 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 77: -#line 570 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 586 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); CHECK_ALLOC(wasm_extend_types(&(yyval.type_bindings).types, &(yyvsp[-1].types))); @@ -2714,7 +2714,7 @@ yyreduce: break; case 78: -#line 575 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 591 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); WasmBinding* binding = wasm_append_binding(&(yyval.type_bindings).bindings); @@ -2728,7 +2728,7 @@ yyreduce: break; case 79: -#line 584 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 600 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.type_bindings) = (yyvsp[-4].type_bindings); CHECK_ALLOC(wasm_extend_types(&(yyval.type_bindings).types, &(yyvsp[-1].types))); @@ -2738,7 +2738,7 @@ yyreduce: break; case 80: -#line 589 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 605 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.type_bindings) = (yyvsp[-5].type_bindings); WasmBinding* binding = wasm_append_binding(&(yyval.type_bindings).bindings); @@ -2752,13 +2752,13 @@ yyreduce: break; case 81: -#line 600 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 616 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.var) = (yyvsp[-1].var); } #line 2758 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 82: -#line 603 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 619 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2767,7 +2767,7 @@ yyreduce: break; case 83: -#line 607 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 623 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2777,7 +2777,7 @@ yyreduce: break; case 84: -#line 612 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 628 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -2788,7 +2788,7 @@ yyreduce: break; case 85: -#line 618 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 634 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2800,7 +2800,7 @@ yyreduce: break; case 86: -#line 625 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 641 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2813,7 +2813,7 @@ yyreduce: break; case 87: -#line 633 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 649 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2827,7 +2827,7 @@ yyreduce: break; case 88: -#line 642 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 658 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2842,7 +2842,7 @@ yyreduce: break; case 89: -#line 652 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 668 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2856,7 +2856,7 @@ yyreduce: break; case 90: -#line 661 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 677 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2869,7 +2869,7 @@ yyreduce: break; case 91: -#line 669 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 685 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2883,7 +2883,7 @@ yyreduce: break; case 92: -#line 678 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 694 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2896,7 +2896,7 @@ yyreduce: break; case 93: -#line 686 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 702 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2908,7 +2908,7 @@ yyreduce: break; case 94: -#line 693 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 709 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2921,7 +2921,7 @@ yyreduce: break; case 95: -#line 701 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 717 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2935,7 +2935,7 @@ yyreduce: break; case 96: -#line 710 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 726 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2948,7 +2948,7 @@ yyreduce: break; case 97: -#line 718 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 734 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -2960,7 +2960,7 @@ yyreduce: break; case 98: -#line 725 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 741 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -2973,7 +2973,7 @@ yyreduce: break; case 99: -#line 733 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 749 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -2985,7 +2985,7 @@ yyreduce: break; case 100: -#line 740 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 756 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -2996,7 +2996,7 @@ yyreduce: break; case 101: -#line 746 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 762 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3008,7 +3008,7 @@ yyreduce: break; case 102: -#line 753 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 769 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3019,7 +3019,7 @@ yyreduce: break; case 103: -#line 759 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 775 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3031,7 +3031,7 @@ yyreduce: break; case 104: -#line 766 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 782 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3044,7 +3044,7 @@ yyreduce: break; case 105: -#line 774 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 790 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3058,7 +3058,7 @@ yyreduce: break; case 106: -#line 783 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 799 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3071,7 +3071,7 @@ yyreduce: break; case 107: -#line 791 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 807 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3083,7 +3083,7 @@ yyreduce: break; case 108: -#line 798 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 814 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3096,7 +3096,7 @@ yyreduce: break; case 109: -#line 806 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 822 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3108,7 +3108,7 @@ yyreduce: break; case 110: -#line 813 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 829 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3119,7 +3119,7 @@ yyreduce: break; case 111: -#line 819 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 835 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3131,7 +3131,7 @@ yyreduce: break; case 112: -#line 826 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 842 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3144,7 +3144,7 @@ yyreduce: break; case 113: -#line 834 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 850 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3156,7 +3156,7 @@ yyreduce: break; case 114: -#line 841 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 857 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3167,7 +3167,7 @@ yyreduce: break; case 115: -#line 847 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 863 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -3177,7 +3177,7 @@ yyreduce: break; case 116: -#line 852 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 868 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3188,7 +3188,7 @@ yyreduce: break; case 117: -#line 858 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 874 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3200,7 +3200,7 @@ yyreduce: break; case 118: -#line 865 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 881 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3213,7 +3213,7 @@ yyreduce: break; case 119: -#line 873 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 889 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3227,7 +3227,7 @@ yyreduce: break; case 120: -#line 882 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 898 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3240,7 +3240,7 @@ yyreduce: break; case 121: -#line 890 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 906 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3252,7 +3252,7 @@ yyreduce: break; case 122: -#line 897 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 913 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3265,7 +3265,7 @@ yyreduce: break; case 123: -#line 905 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 921 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3277,7 +3277,7 @@ yyreduce: break; case 124: -#line 912 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 928 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3288,7 +3288,7 @@ yyreduce: break; case 125: -#line 918 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 934 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3300,7 +3300,7 @@ yyreduce: break; case 126: -#line 925 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 941 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3313,7 +3313,7 @@ yyreduce: break; case 127: -#line 933 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 949 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE | WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3325,7 +3325,7 @@ yyreduce: break; case 128: -#line 940 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 956 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -3336,7 +3336,7 @@ yyreduce: break; case 129: -#line 946 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 962 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -3348,7 +3348,7 @@ yyreduce: break; case 130: -#line 953 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 969 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_FUNC_TYPE; @@ -3359,7 +3359,7 @@ yyreduce: break; case 131: -#line 959 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 975 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3369,7 +3369,7 @@ yyreduce: break; case 132: -#line 964 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 980 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3380,7 +3380,7 @@ yyreduce: break; case 133: -#line 970 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 986 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3392,7 +3392,7 @@ yyreduce: break; case 134: -#line 977 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 993 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3405,7 +3405,7 @@ yyreduce: break; case 135: -#line 985 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1001 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3417,7 +3417,7 @@ yyreduce: break; case 136: -#line 992 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1008 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3428,7 +3428,7 @@ yyreduce: break; case 137: -#line 998 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1014 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3440,7 +3440,7 @@ yyreduce: break; case 138: -#line 1005 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1021 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3451,7 +3451,7 @@ yyreduce: break; case 139: -#line 1011 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1027 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3461,7 +3461,7 @@ yyreduce: break; case 140: -#line 1016 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1032 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3472,7 +3472,7 @@ yyreduce: break; case 141: -#line 1022 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1038 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3484,7 +3484,7 @@ yyreduce: break; case 142: -#line 1029 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1045 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3495,7 +3495,7 @@ yyreduce: break; case 143: -#line 1035 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1051 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3505,7 +3505,7 @@ yyreduce: break; case 144: -#line 1040 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1056 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3516,7 +3516,7 @@ yyreduce: break; case 145: -#line 1046 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1062 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func)); (yyval.func).flags = WASM_FUNC_FLAG_HAS_SIGNATURE; @@ -3526,13 +3526,13 @@ yyreduce: break; case 146: -#line 1053 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1069 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.func) = (yyvsp[-1].func); (yyval.func).loc = (yylsp[-2]); } #line 3532 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 147: -#line 1059 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1075 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.segment).loc = (yylsp[-3]); (yyval.segment).data = (yyvsp[-1].segment).data; @@ -3546,13 +3546,13 @@ yyreduce: break; case 148: -#line 1070 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1086 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.segments)); } #line 3552 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 149: -#line 1071 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1087 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.segments) = (yyvsp[-1].segments); CHECK_ALLOC(wasm_append_segment_value(&(yyval.segments), &(yyvsp[0].segment))); @@ -3561,7 +3561,7 @@ yyreduce: break; case 150: -#line 1078 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1094 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.memory).loc = (yylsp[-4]); if (!read_int32((yyvsp[-3].text).start, (yyvsp[-3].text).start + (yyvsp[-3].text).length, &(yyval.memory).initial_size, 0)) @@ -3576,7 +3576,7 @@ yyreduce: break; case 151: -#line 1088 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1104 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.memory).loc = (yylsp[-3]); if (!read_int32((yyvsp[-2].text).start, (yyvsp[-2].text).start + (yyvsp[-2].text).length, &(yyval.memory).initial_size, 0)) @@ -3589,7 +3589,7 @@ yyreduce: break; case 152: -#line 1099 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1115 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.func_type)); (yyval.func_type).sig = (yyvsp[-2].func_sig); @@ -3598,7 +3598,7 @@ yyreduce: break; case 153: -#line 1103 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1119 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.func_type).name = (yyvsp[-5].text); (yyval.func_type).sig = (yyvsp[-2].func_sig); @@ -3607,13 +3607,13 @@ yyreduce: break; case 154: -#line 1110 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1126 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.vars) = (yyvsp[-1].vars); } #line 3613 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 155: -#line 1114 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1130 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.import)); (yyval.import).import_type = WASM_IMPORT_HAS_TYPE; @@ -3625,7 +3625,7 @@ yyreduce: break; case 156: -#line 1121 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1137 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.import)); (yyval.import).import_type = WASM_IMPORT_HAS_TYPE; @@ -3638,7 +3638,7 @@ yyreduce: break; case 157: -#line 1129 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1145 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.import)); (yyval.import).import_type = WASM_IMPORT_HAS_FUNC_SIGNATURE; @@ -3650,7 +3650,7 @@ yyreduce: break; case 158: -#line 1136 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1152 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.import)); (yyval.import).import_type = WASM_IMPORT_HAS_FUNC_SIGNATURE; @@ -3663,7 +3663,7 @@ yyreduce: break; case 159: -#line 1147 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1163 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.export).name = (yyvsp[-2].text); (yyval.export).var = (yyvsp[-1].var); @@ -3672,7 +3672,7 @@ yyreduce: break; case 160: -#line 1154 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1170 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); (yyval.type_bindings).types = (yyvsp[-1].types); @@ -3681,7 +3681,7 @@ yyreduce: break; case 161: -#line 1158 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1174 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.type_bindings)); WasmBinding* binding = wasm_append_binding(&(yyval.type_bindings).bindings); @@ -3695,13 +3695,13 @@ yyreduce: break; case 162: -#line 1170 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1186 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.module_fields)); } #line 3701 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 163: -#line 1171 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1187 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3714,7 +3714,7 @@ yyreduce: break; case 164: -#line 1179 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1195 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3727,7 +3727,7 @@ yyreduce: break; case 165: -#line 1187 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1203 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3740,7 +3740,7 @@ yyreduce: break; case 166: -#line 1195 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1211 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3753,7 +3753,7 @@ yyreduce: break; case 167: -#line 1203 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1219 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3766,7 +3766,7 @@ yyreduce: break; case 168: -#line 1211 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1227 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3779,7 +3779,7 @@ yyreduce: break; case 169: -#line 1219 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1235 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.module_fields) = (yyvsp[-1].module_fields); WasmModuleField* field = wasm_append_module_field(&(yyval.module_fields)); @@ -3792,7 +3792,7 @@ yyreduce: break; case 170: -#line 1229 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1245 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.module)); (yyval.module).loc = (yylsp[-2]); @@ -3869,13 +3869,13 @@ yyreduce: break; case 171: -#line 1307 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1323 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_MODULE; (yyval.command).module = (yyvsp[0].module); } #line 3875 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 172: -#line 1308 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1324 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_INVOKE; (yyval.command).invoke.loc = (yylsp[-3]); @@ -3886,7 +3886,7 @@ yyreduce: break; case 173: -#line 1314 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1330 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_ASSERT_INVALID; (yyval.command).assert_invalid.module = (yyvsp[-2].module); @@ -3896,7 +3896,7 @@ yyreduce: break; case 174: -#line 1319 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1335 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_ASSERT_RETURN; (yyval.command).assert_return.invoke.loc = (yylsp[-5]); @@ -3908,7 +3908,7 @@ yyreduce: break; case 175: -#line 1326 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1342 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_ASSERT_RETURN_NAN; (yyval.command).assert_return_nan.invoke.loc = (yylsp[-4]); @@ -3919,7 +3919,7 @@ yyreduce: break; case 176: -#line 1332 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1348 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.command).type = WASM_COMMAND_TYPE_ASSERT_TRAP; (yyval.command).assert_trap.invoke.loc = (yylsp[-5]); @@ -3931,13 +3931,13 @@ yyreduce: break; case 177: -#line 1341 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1357 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.commands)); } #line 3937 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 178: -#line 1342 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1358 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.commands) = (yyvsp[-1].commands); CHECK_ALLOC(wasm_append_command_value(&(yyval.commands), &(yyvsp[0].command))); @@ -3946,7 +3946,7 @@ yyreduce: break; case 179: -#line 1349 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1365 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.const_).loc = (yylsp[-2]); if (!read_const((yyvsp[-2].type), (yyvsp[-1].text).start, (yyvsp[-1].text).start + (yyvsp[-1].text).length, &(yyval.const_))) @@ -3958,19 +3958,19 @@ yyreduce: break; case 180: -#line 1358 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1374 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.const_).type = WASM_TYPE_VOID; } #line 3964 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 182: -#line 1362 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1378 "src/wasm-parser.y" /* yacc.c:1646 */ { ZEROMEM((yyval.consts)); } #line 3970 "src/wasm-parser.c" /* yacc.c:1646 */ break; case 183: -#line 1363 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1379 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.consts) = (yyvsp[-1].consts); CHECK_ALLOC(wasm_append_const_value(&(yyval.consts), &(yyvsp[0].const_))); @@ -3979,7 +3979,7 @@ yyreduce: break; case 184: -#line 1370 "src/wasm-parser.y" /* yacc.c:1646 */ +#line 1386 "src/wasm-parser.y" /* yacc.c:1646 */ { (yyval.script).commands = (yyvsp[0].commands); parser->script = (yyval.script); } #line 3985 "src/wasm-parser.c" /* yacc.c:1646 */ break; @@ -4220,7 +4220,7 @@ yyreturn: #endif return yyresult; } -#line 1379 "src/wasm-parser.y" /* yacc.c:1906 */ +#line 1395 "src/wasm-parser.y" /* yacc.c:1906 */ void wasm_error(WasmLocation* loc, diff --git a/src/wasm-parser.y b/src/wasm-parser.y index 84a3101e..1785308c 100644 --- a/src/wasm-parser.y +++ b/src/wasm-parser.y @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + %{ #include <assert.h> #include <errno.h> diff --git a/src/wasm-vector.c b/src/wasm-vector.c index 52982da6..c8808775 100644 --- a/src/wasm-vector.c +++ b/src/wasm-vector.c @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include "wasm-vector.h" #include <memory.h> diff --git a/src/wasm-vector.h b/src/wasm-vector.h index 13fbdff0..f3ec87d9 100644 --- a/src/wasm-vector.h +++ b/src/wasm-vector.h @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #ifndef WASM_VECTOR_H_ #define WASM_VECTOR_H_ diff --git a/src/wasm-writer.c b/src/wasm-writer.c index b2f28feb..f878aff1 100644 --- a/src/wasm-writer.c +++ b/src/wasm-writer.c @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include "wasm-writer.h" #include <errno.h> diff --git a/src/wasm-writer.h b/src/wasm-writer.h index e036d32b..c53e8b4a 100644 --- a/src/wasm-writer.h +++ b/src/wasm-writer.h @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #ifndef WASM_WRITER_H_ #define WASM_WRITER_H_ @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include "wasm.h" #include <assert.h> @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #ifndef WASM_H_ #define WASM_H_ diff --git a/test/run-d8.py b/test/run-d8.py index cf3a2827..738e7e84 100755 --- a/test/run-d8.py +++ b/test/run-d8.py @@ -1,4 +1,19 @@ #!/usr/bin/env python +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# import argparse import os diff --git a/test/run-tests.py b/test/run-tests.py index 64bae20f..543c0806 100755 --- a/test/run-tests.py +++ b/test/run-tests.py @@ -1,7 +1,19 @@ #!/usr/bin/env python -# Copyright 2015 The Native Client Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. +# +# Copyright 2016 WebAssembly Community Group participants +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# import argparse import difflib diff --git a/test/spec.js b/test/spec.js index 8accb5cb..210ece7a 100644 --- a/test/spec.js +++ b/test/spec.js @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + var quiet; /* global, defined by output from sexpr-wasm */ var passed = 0; var failed = 0; diff --git a/test/wasm.js b/test/wasm.js index eaec352b..ba6232a2 100644 --- a/test/wasm.js +++ b/test/wasm.js @@ -1,3 +1,19 @@ +/* + * Copyright 2016 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + if (arguments.length != 1) { print('usage: d8 wasm.js -- <filename>'); quit(0); |