diff options
-rw-r--r-- | src/wasm-ast-lexer.c | 5 | ||||
-rw-r--r-- | src/wasm-ast-parser-lexer-shared.c | 2 | ||||
-rw-r--r-- | test/regress/regress-5.txt | 124 |
3 files changed, 128 insertions, 3 deletions
diff --git a/src/wasm-ast-lexer.c b/src/wasm-ast-lexer.c index e743e127..09408b2d 100644 --- a/src/wasm-ast-lexer.c +++ b/src/wasm-ast-lexer.c @@ -531,10 +531,11 @@ static WasmResult scan_forward_for_line_offset_in_buffer( } } + WasmResult result = WASM_OK; if (p == buffer_end) { /* end of buffer */ if (find_position == WASM_LINE_OFFSET_POSITION_START) { - return WASM_ERROR; + result = WASM_ERROR; } else { line_offset = buffer_file_offset + (buffer_end - buffer_start); } @@ -542,7 +543,7 @@ static WasmResult scan_forward_for_line_offset_in_buffer( *out_line = line; *out_line_offset = line_offset; - return WASM_OK; + return result; } static WasmResult scan_forward_for_line_offset_in_file( diff --git a/src/wasm-ast-parser-lexer-shared.c b/src/wasm-ast-parser-lexer-shared.c index 9c380282..94d5fc2b 100644 --- a/src/wasm-ast-parser-lexer-shared.c +++ b/src/wasm-ast-parser-lexer-shared.c @@ -59,7 +59,7 @@ void wasm_ast_format_error(WasmSourceErrorHandler* error_handler, if (WASM_FAILED(result)) { /* if this fails, it means that we've probably screwed up the lexer. blow * up. */ - WASM_FATAL("error getting the source line."); + WASM_FATAL("error getting the source line.\n"); } } diff --git a/test/regress/regress-5.txt b/test/regress/regress-5.txt new file mode 100644 index 00000000..430385a8 --- /dev/null +++ b/test/regress/regress-5.txt @@ -0,0 +1,124 @@ +;;; ERROR: 1 +;; error when displaying source line when the line wasn't in the first 8192 +;; bytes. +(module + (memory 1 + (segment 0 "000000000000000000000000000000000000000000000000000000000000") + (segment 60 "000000000000000000000000000000000000000000000000000000000000") + (segment 120 "000000000000000000000000000000000000000000000000000000000000") + (segment 180 "000000000000000000000000000000000000000000000000000000000000") + (segment 240 "000000000000000000000000000000000000000000000000000000000000") + (segment 300 "000000000000000000000000000000000000000000000000000000000000") + (segment 360 "000000000000000000000000000000000000000000000000000000000000") + (segment 420 "000000000000000000000000000000000000000000000000000000000000") + (segment 480 "000000000000000000000000000000000000000000000000000000000000") + (segment 540 "000000000000000000000000000000000000000000000000000000000000") + (segment 600 "000000000000000000000000000000000000000000000000000000000000") + (segment 660 "000000000000000000000000000000000000000000000000000000000000") + (segment 720 "000000000000000000000000000000000000000000000000000000000000") + (segment 780 "000000000000000000000000000000000000000000000000000000000000") + (segment 840 "000000000000000000000000000000000000000000000000000000000000") + (segment 900 "000000000000000000000000000000000000000000000000000000000000") + (segment 960 "000000000000000000000000000000000000000000000000000000000000") + (segment 1020 "000000000000000000000000000000000000000000000000000000000000") + (segment 1080 "000000000000000000000000000000000000000000000000000000000000") + (segment 1140 "000000000000000000000000000000000000000000000000000000000000") + (segment 1200 "000000000000000000000000000000000000000000000000000000000000") + (segment 1260 "000000000000000000000000000000000000000000000000000000000000") + (segment 1320 "000000000000000000000000000000000000000000000000000000000000") + (segment 1380 "000000000000000000000000000000000000000000000000000000000000") + (segment 1440 "000000000000000000000000000000000000000000000000000000000000") + (segment 1500 "000000000000000000000000000000000000000000000000000000000000") + (segment 1560 "000000000000000000000000000000000000000000000000000000000000") + (segment 1620 "000000000000000000000000000000000000000000000000000000000000") + (segment 1680 "000000000000000000000000000000000000000000000000000000000000") + (segment 1740 "000000000000000000000000000000000000000000000000000000000000") + (segment 1800 "000000000000000000000000000000000000000000000000000000000000") + (segment 1860 "000000000000000000000000000000000000000000000000000000000000") + (segment 1920 "000000000000000000000000000000000000000000000000000000000000") + (segment 1980 "000000000000000000000000000000000000000000000000000000000000") + (segment 2040 "000000000000000000000000000000000000000000000000000000000000") + (segment 2100 "000000000000000000000000000000000000000000000000000000000000") + (segment 2160 "000000000000000000000000000000000000000000000000000000000000") + (segment 2220 "000000000000000000000000000000000000000000000000000000000000") + (segment 2280 "000000000000000000000000000000000000000000000000000000000000") + (segment 2340 "000000000000000000000000000000000000000000000000000000000000") + (segment 2400 "000000000000000000000000000000000000000000000000000000000000") + (segment 2460 "000000000000000000000000000000000000000000000000000000000000") + (segment 2520 "000000000000000000000000000000000000000000000000000000000000") + (segment 2580 "000000000000000000000000000000000000000000000000000000000000") + (segment 2640 "000000000000000000000000000000000000000000000000000000000000") + (segment 2700 "000000000000000000000000000000000000000000000000000000000000") + (segment 2760 "000000000000000000000000000000000000000000000000000000000000") + (segment 2820 "000000000000000000000000000000000000000000000000000000000000") + (segment 2880 "000000000000000000000000000000000000000000000000000000000000") + (segment 2940 "000000000000000000000000000000000000000000000000000000000000") + (segment 3000 "000000000000000000000000000000000000000000000000000000000000") + (segment 3060 "000000000000000000000000000000000000000000000000000000000000") + (segment 3120 "000000000000000000000000000000000000000000000000000000000000") + (segment 3180 "000000000000000000000000000000000000000000000000000000000000") + (segment 3240 "000000000000000000000000000000000000000000000000000000000000") + (segment 3300 "000000000000000000000000000000000000000000000000000000000000") + (segment 3360 "000000000000000000000000000000000000000000000000000000000000") + (segment 3420 "000000000000000000000000000000000000000000000000000000000000") + (segment 3480 "000000000000000000000000000000000000000000000000000000000000") + (segment 3540 "000000000000000000000000000000000000000000000000000000000000") + (segment 3600 "000000000000000000000000000000000000000000000000000000000000") + (segment 3660 "000000000000000000000000000000000000000000000000000000000000") + (segment 3720 "000000000000000000000000000000000000000000000000000000000000") + (segment 3780 "000000000000000000000000000000000000000000000000000000000000") + (segment 3840 "000000000000000000000000000000000000000000000000000000000000") + (segment 3900 "000000000000000000000000000000000000000000000000000000000000") + (segment 3960 "000000000000000000000000000000000000000000000000000000000000") + (segment 4020 "000000000000000000000000000000000000000000000000000000000000") + (segment 4080 "000000000000000000000000000000000000000000000000000000000000") + (segment 4140 "000000000000000000000000000000000000000000000000000000000000") + (segment 4200 "000000000000000000000000000000000000000000000000000000000000") + (segment 4260 "000000000000000000000000000000000000000000000000000000000000") + (segment 4320 "000000000000000000000000000000000000000000000000000000000000") + (segment 4380 "000000000000000000000000000000000000000000000000000000000000") + (segment 4440 "000000000000000000000000000000000000000000000000000000000000") + (segment 4500 "000000000000000000000000000000000000000000000000000000000000") + (segment 4560 "000000000000000000000000000000000000000000000000000000000000") + (segment 4620 "000000000000000000000000000000000000000000000000000000000000") + (segment 4680 "000000000000000000000000000000000000000000000000000000000000") + (segment 4740 "000000000000000000000000000000000000000000000000000000000000") + (segment 4800 "000000000000000000000000000000000000000000000000000000000000") + (segment 4860 "000000000000000000000000000000000000000000000000000000000000") + (segment 4920 "000000000000000000000000000000000000000000000000000000000000") + (segment 4980 "000000000000000000000000000000000000000000000000000000000000") + (segment 5040 "000000000000000000000000000000000000000000000000000000000000") + (segment 5100 "000000000000000000000000000000000000000000000000000000000000") + (segment 5160 "000000000000000000000000000000000000000000000000000000000000") + (segment 5220 "000000000000000000000000000000000000000000000000000000000000") + (segment 5280 "000000000000000000000000000000000000000000000000000000000000") + (segment 5340 "000000000000000000000000000000000000000000000000000000000000") + (segment 5400 "000000000000000000000000000000000000000000000000000000000000") + (segment 5460 "000000000000000000000000000000000000000000000000000000000000") + (segment 5520 "000000000000000000000000000000000000000000000000000000000000") + (segment 5580 "000000000000000000000000000000000000000000000000000000000000") + (segment 5640 "000000000000000000000000000000000000000000000000000000000000") + (segment 5700 "000000000000000000000000000000000000000000000000000000000000") + (segment 5760 "000000000000000000000000000000000000000000000000000000000000") + (segment 5820 "000000000000000000000000000000000000000000000000000000000000") + (segment 5880 "000000000000000000000000000000000000000000000000000000000000") + (segment 5940 "000000000000000000000000000000000000000000000000000000000000") + (segment 6000 "000000000000000000000000000000000000000000000000000000000000") + (segment 6060 "000000000000000000000000000000000000000000000000000000000000") + (segment 6120 "000000000000000000000000000000000000000000000000000000000000") + (segment 6180 "000000000000000000000000000000000000000000000000000000000000") + (segment 6240 "000000000000000000000000000000000000000000000000000000000000") + (segment 6300 "000000000000000000000000000000000000000000000000000000000000") + (segment 6360 "000000000000000000000000000000000000000000000000000000000000") + (segment 6420 "000000000000000000000000000000000000000000000000000000000000") + (segment 6480 "000000000000000000000000000000000000000000000000000000000000") + (segment 6540 "000000000000000000000000000000000000000000000000000000000000") + ) + (func (result i32) + (i64.const 0)) ;; deliberate type-check error +) +(;; STDERR ;;; +regress/regress-5.txt:118:5: type mismatch of function result. got i64, expected i32 + (i64.const 0)) ;; deliberate type-check error + ^ +;;; STDERR ;;) |