summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm-ast-lexer.c5
-rw-r--r--src/wasm-ast-parser-lexer-shared.c2
-rw-r--r--test/regress/regress-5.txt124
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 ;;)